1
#include<iostream>
#include<memory>
using namespace std;
int main()
{
unique_ptr<int> p(new int);
*p = 10;
cout<<*p<<endl;
p = NULL;
if(p)
cout<<"It's NOT NULL\n";
else
cout<<"It's NULL NOW\n";
return 0;
}
//私はNULLをpに割り当てたので、プログラムが終了すると、//を持つpが削除されます。 NULLを削除しても問題は発生しませんが、p //前のメモリ保持は解放されません。私は正しいですか?ここでunique_ptrにメモリリークがあります
質問をするときは、コードに使用した言語のタグを入力します。あなたはw/o C++タグに質問しますが、C++開発者はあなたの質問に答えることはできません。 – FLICKER
デストラクタのstdoutにダンプしたシンプルなクラス型のように、単純に 'int'ではなく何かを使って破壊することができることをコーディングすると、 。 – WhozCraig