Domanda

c ++ ha fatto molta strada, ha molte funzionalità che portano a fare lo stesso compito in n numero di modi. Quale caratteristica pensi dovrebbe essere evitata ed elenca una migliore alternativa per lo stesso.

  

Come usare SmartPointers in luoghi di   puntatori

È stato utile?

Soluzione

Evita malloc, usa new.

Evita memcpy, usa un costruttore di copie.

Evita #defines, usa const s.

Evita (C-style) casts, usa static_cast<C++>( style casts ).

Evita le macro, usa i modelli.

Evita il post-incremento se puoi usare il pre-incremento.

Evita nuovi, usa raccolte di tipi di valore, lascia che la raccolta gestisca la gestione della memoria.

Evita i puntatori agli oggetti nuovi, usa boost::scoped_ptr o boost::shared_ptr.

Evita di scrivere il tuo codice per attraversare raccolte, usa <algorithm> s

Evita di reinventare la ruota, vedi se boost ha quello che ti serve.

Evita " char * name " per memorizzare le stringhe, utilizzare std :: string.

Evita using namespace foo, usa using foo::bar.

Evita " dichiarazioni statiche (collegamento interno) " usa spazi dei nomi senza nome.

Altri suggerimenti

usa nuovi cast di stile

static_cast, const_cast, reinterpret_cast, dynamic_cast,

invece dei cast in stile C che non sono più considerati completamente sicuri

preferisce inoltre utilizzare i contenitori STL rispetto al ridimensionamento dinamico degli array in fase di esecuzione

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top