0

FlexeLint/PC-lintは、 std::string::append の戻り値が次の削減されたサンプル コードで考慮されないことについて警告しています。

#include <iostream>
#include <string>

int main() {

std::string s("Hell");
s.append(1,'o');

std::cout << s << std::endl;
return 0;

FlexeLint を呼び出すと、次の警告が表示されます。

Warning 534: Ignoring return value of function  'std::basic_string<char>::append(unsigned long, char)'

このメッセージは true ですが、 std::string::appendは単に *this を返すだけなので、この場合の戻り値をキャッチしても意味がありません。

さらに、このオブジェクトに関連する反復子、ポインター、および参照が無効になる場合があります。しかし、これは当てはまりません。反復子、ポインター、および参照は使用されません。

質問

何か重要なことを見逃していましたか、それとも単に FlexeLint の誤検知ですか?

4

1 に答える 1