デバッグが難しいバグ.
・・・吐きそう.
ふはははは.やはり最後に勝利するのは虫けらどもではなくて我々人類なのであ〜る.ふはははははははは・・・は〜.orz
class C{ void f() { ..... vec_[index] = get_value(); ..... } int get_value() { ..... vec_.resize(.....); ..... } private: std::vector<int> vec_; };
こうして人類は副作用のない世界へと誘われていくのであった.to be continued...はしないけど.
っていうかconst重要.意図しない副作用の早期発見に超重要.
あれですな.自分の経験的には「デバッグビルドではバグ出ないけれどリリースビルドだとバグが出る」ってタイプのバグは,参照あるいは一時変数の寿命か式の評価順序か変数の未初期化が原因なことが多いですな.要するに虫取りが非常に難しい部類のバグ.その上にソースレベルデバッガで追うのが難しくなるという2重苦・・・.