なぜunique_ptr
は、const ptr
の借方を取ることができますか?unique_ptrの意味<const T>
unique_ptr<const T>
の意味はなんですか?グラムでテスト++ 4.8 unique_ptrをはのconst PTRのowershipを取ることができますなぜ
なぜunique_ptr
は、const ptr
の借方を取ることができますか?unique_ptrの意味<const T>
unique_ptr<const T>
の意味はなんですか?グラムでテスト++ 4.8 unique_ptrをはのconst PTRのowershipを取ることができますなぜ
を
std::unique_ptr<int> a(new int); // Only this is compile error. std::unique_ptr<int> b((const int*)new int); std::unique_ptr<const int> c(new int); // Why unique_ptr can take a const ptr, and delete it when deconstruct? std::unique_ptr<const int> d((const int*)new int);
?
定数変数であっても、それらが不要になったときに破棄して解放する必要があるためです。 const
またはvolatile
のキーワードに関係なく、ファイナライズされていない変数でメモリとリソースのリークが発生します。
unique_ptrを<のconst Tの意味は何ですか>
それはconst T
なくT
だ除いuniqe_ptr<T>
が、持っていることを何の意味。
//なぜunique_ptrはconst ptrを取ることができ、 deconstructのときにそれを削除するのですか?
私は、あなたは彼らがconst
ので、未修正および非破壊可能なのでconst
オブジェクトは、削除できないことだと思う気持ちを持っています。これは間違っています。変数が構築された後にconst
がキックインし、変数破壊に影響を及ぼす「停止」が発生します。そうでなければ、const
変数を作成してそれらを破壊することはできませんでした。
'const int *'と同じ意味ですが、 –
@Casey stealth edit ...これはもともと 'int * const'でした。 – Quentin