Apakah aman untuk menghapus pointer NULL?
Dan apakah itu gaya pengkodean yang baik?
make_shared(c ++ 11) dan make_unique(c ++ 14) Program Anda harus berisi nol dari newdandelete
newatau delete. Kelas yang dirancang untuk mengelola sumber daya, di mana komponen Standar tidak dapat melakukan pekerjaan, tentu saja dapat melakukan apa yang harus mereka lakukan, tetapi intinya adalah mereka melakukan hal-hal buruk dengan memori yang mereka kelola, bukan kode pengguna akhir. Jadi, buat perpustakaan / kelas pembantu Anda sendiri untuk melakukan new/ delete, dan gunakan kelas itu sebagai ganti mereka.
delete. Gunakan RAII sebagai gantinya. Yaitu, gunakanstd::vector<T> v(100);alih-alihT* p = new T[100];, gunakan pointer pintar sepertiunique_ptr<T>danshared_ptr<T>yang mengurus penghapusan bukan pointer mentah dll.