NULLポインターを削除しても安全ですか?
そしてそれは良いコーディングスタイルですか?
make_shared
(C ++ 11)とmake_unique
(C ++ 14)あなたのプログラムが含まれている必要がありますゼロのnew
とdelete
new
またはを記述する必要がないということdelete
です。標準コンポーネントでは処理できないリソースを管理するために設計されたクラスは、当然、必要なことを実行できますが、重要なのは、エンドユーザーコードではなく、管理するメモリで醜い処理を行うことです。したがって、独自のライブラリ/ヘルパークラスを作成してnew
/ を行いdelete
、それらの代わりにそのクラスを使用します。
delete
ます。代わりにRAIIを使用してください。これは、使用されるstd::vector<T> v(100);
代わりにT* p = new T[100];
、スマートのようなポインタを使用し、unique_ptr<T>
そしてshared_ptr<T>
その代わりなど生のポインタの削除の世話を