NULL işaretçisini silmek güvenli midir?
Ve bu iyi bir kodlama tarzı mı?
make_shared
(c ++ 11) ve make_unique
(c ++ 14) program içermelidir sıfır ait new
vedelete
new
ya da delete
. Standart bileşenler işi yapamaz kaynakları yönetmek için tasarlanmış Sınıflar, ders yapmaları gereken ne yapabiliriz, ama mesele olduğunu onlar yönettikleri bellekte değil, son kullanıcı kodu ile çirkin şeyler. Yani, kendi kütüphane / yardımcı sınıfı yapmak yapmak new
/ delete
ve bunlardan yerine o sınıfını kullanın.
delete
. Kullanım de ray yerine. Yani kullanımı olupstd::vector<T> v(100);
yerineT* p = new T[100];
, akıllı gibi işaretçileri kullanmakunique_ptr<T>
veshared_ptr<T>
vb silme o icabına yerine ham işaretçileri