std::stringを構造体で使う場合の注意点

  • 構造体のメンバとしてstringが存在するとき、構造体をゼロで初期化すると、stringの状態データ?が壊れる
Xcode4で確認。VCではこのような事は起らない。


struct hoge{
 string s;
 int a;
};

struct hoge h;
memset(&h, 0, sizeof(hoge));
h.s = "aa"; // ここでエラーとなる(Program received signal: "EXC_BAD_ACCESS")
最終更新:2012年03月05日 00:45
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。