unique_ptr::reset
ポインター パラメーターの所有権を取得してから、格納されている元のポインターを削除します。 新しいポインターが元の格納されているポインターの場合と同じ場合には、reset でポインターを削除して、格納されているポインターを nullptr に設定します。
void reset(pointer ptr = pointer());
void reset(nullptr_t ptr);
パラメーター
パラメーター |
説明 |
---|---|
ptr |
所有権を取得するリソースへのポインター。 |
解説
reset を使用して、unique_ptr が保有する格納されているポインター を ptr へ変更してから、元の格納されているポインターを削除します。 unique_ptr が空でなかった場合、reset は元の格納されているポインターについて get_deleter が返すデリーター関数を呼出します。
reset は、まず新しいポインター ptr を格納してから、格納されている元のポインターを削除するため、新しいポインターと格納されている元のポインターが同じ場合には、reset は直ちに ptr を削除することがあります。
必要条件
ヘッダー: <memory>
名前空間: std