基本文字列の非効率的な使用

C++ 基本文字列パッケージが非効率的に使用されています。

C++ 標準テンプレート・ライブラリーでは、いくつかの文字列操作が定義されています。文字列結合 (+) などの一部の操作は、一時オブジェクトを作成し破棄します。この警告メッセージは、必要な一時オブジェクトの数を減らすことで、同じ結果をより効率的に得ることができる別の計算方法を示します。

ID

問題箇所

説明

1

呼び出し位置

非効率的な操作が見つかった場所

          
#include <iostream>
#include <string>

using namespace std;

int main(int argc, char **argv)
{
    string a, b(argv[1]), c(argv[2]);
    a = b + c; // better is (a = b), a += c; or (a = b) += c;
    cout << b << " + " << c << " = " << a;
    return 0;
}
        

© 2010 Intel Corporation. 無断での引用、転載を禁じます。