結局原因不明→結構怖い
とりあえず今日はC++のお話です。
class Piyo{ public: Piyo(); void doSomething(); }; class Hoge{ public: Hoge(int t); void loopPiyoDoSomething(); private: int times; Piyo* piyo; }; Piyo::Piyo(){} void Piyo::doSomething(){ //do something } Hoge::Hoge(int t){ piyo = new Piyo(); times = t; } void Hoge::loopPiyoDoSomething(){ for (int t = 0; t < times; t++) piyo -> doSomething(); } int main(){ Hoge* hoge = new Hoge( 10 ); hoge -> loopPiyoDoSomething(); return 0; }
あってるかな…まぁやりたいことはHogeでPiyoのvoid関数を10回回す って感じのことです。
これが無限ループ?か何かにハマって出てこない…なんでだろうと思ったら、piyo.doSomething()をコールして帰ってきたらtimesがぶっ飛んだ値になってたから=w=;
実際はdoSomethingの中で人のAPI呼び出してガリガリやってるんですよね。
なんか、バッファオーバーフローとかして変な悪影響が出てるんじゃないかと心配でたまりません。