2014-06-01から1ヶ月間の記事一覧

効率的な文字列連結

3つ以上の文字列を何気なく + 演算子で連結すると、必ずしも効率的には動作しないコードになります。 std::string a = "Hello"; const char b[] = "World"; char c = '!'; std::string x = "\n" "<message>" + a + ',' + b + c + "</message>"; 実際は、std::basic_string の実…

C++で構造体の名前付き初期化

C言語のライブラリを使っていると、構造体をデフォルト初期化してから、一部のメンバー変数だけ書き換えて利用することがしばしばあります。 option o = {}; o.name = "hello"; o.size = 1234; func(o); option 構造体のメンバー変数の仕様は一部だけが決ま…