ややプログラム紀行

博士2年のプログラムに関する日記

おっしゃぁぁあああああ

今までnewなんて使ってませんでしたからメモリリークなんてのにもぶつかったことはありませんでした

しかし今回作っているゲームではnewを使ってみようということでガリガリ使ってました

で、これ

メモリリークがあるかどうかを調べてみた

当然メモリリークなんかないようにしてるつもりだったし、リークしてるなんて思いませんでしたけど、そいつは姿を現してしまいました

いそいで原因を探しましたけど、メモリリークなんて起きると思ってませんでしたからすっげー苦戦しました(それがメモリリークなんでしょうねw)

探して探して2時間、原因はSingletonにありました

FPSを測定するTimerクラスなんてのをつくったんですけど、2つも必要ないだろうと思ってSingletonで作りました

そしたらメモリリークが起こったと・・・

今回のSingletonはstaticなポインターを作ってそこにnewで実体のアドレスをいれることで、実体は常に1つになるというものでした(Singletonって全部そうなのかな?)

その実体を作るときのnewをdeleteし忘れてました

今は取り敢えずプログラムの最後でdeleteしてますが、せっかくだからこの前作ったスマポを試してみようかなー(どうせスマポを別のスマポにコピーとかする予定ないし)