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>その代わりなど生のポインタの削除の世話を