C++ を使ってnew/delete
すごく久しぶりの更新ですが、今日はメモがてら。。。
卒業研究でC++を使っているのですが、実験を行う中でメモリリークを起こしてました。
今まで、小さいプログラムしか欠いたことが無かったので初めての体験で驚きました。(初心者丸出しですが…)
そこで、タスクマネージャーとやらを起動し、メモリ利用量を確認…
左側の山がメモリリークをして、テストが落ちる瞬間です。。。
落ちてすぐにdeleteをプログラムに導入しました。
後半、部分はもう一度テストをしているのですが、メモリ使用率が抑えられているのがわかります。
1 2 3 |
hogehogetest *test = new hogehogetest(); test->run(); delete test; |
まとめ
基本的なことではありますが、メモリをnewで確保したらdeleteでしっかり解放しよう。
配列を確保したら、delete[] hoge;で解放するらしい。
参考:c++ 第四回-02 : new/delete によるメモリの動的管理