Чи безпечно видалити покажчик 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>
які дбають про видалення замість сирих вказівників тощо.