0
2
知りたいこと
グローバルで確保されたメモリが解放されるタイミング
背景、状況
以前,業務でグローバルに定義したクラスをmain内で解放する実装をしたのですが,プロジェクトリーダーに「globalで確保したメモリをmain内で解放するのはメモリ管理上バグりそうで避けたい」と言われました.
個人的にはプログラムが終了する直前で解放してるから問題ないのでは?と思うのですが,私が配慮できていない問題があるのでしょうか?
やはり,C++でメモリを扱う場合はスマートポインタを使うのが無難ですか?
#include <iostream> using namespace std; class TEST { public: string Name; TEST(string name) { Name = name; cout << Name << " construct" << endl; } ~TEST() { cout << Name << " destruct" << endl; } }; TEST *AA = new TEST("AA"); int main(void) { delete AA; return 0; } ~~実行結果~~ AA construct AA destruct
回答5件
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。