È sicuro eliminare un puntatore NULL?
Ed è un buon stile di codifica?
make_shared(c ++ 11) e make_unique(c ++ 14) il tuo programma dovrebbe contenere zero di newedelete
newo delete. Le classi progettati per gestire le risorse, in cui i componenti standard non possono fare il lavoro, possono naturalmente fare quello che devono fare, ma il punto è che essi fanno la roba brutta con la memoria riescono, non il codice utente finale. Quindi, crea la tua libreria / classe helper per fare new/ deletee usa quella classe invece di loro.
delete. Usa invece RAII . Cioè, usastd::vector<T> v(100);invece diT* p = new T[100];, usa puntatori intelligenti comeunique_ptr<T>eshared_ptr<T>che si occupano dell'eliminazione invece di puntatori grezzi ecc.