Question

C ++ a parcouru un long chemin, il a beaucoup de fonctionnalités qui conduisent à faire la même tâche de n façons. Selon vous, quelle fonctionnalité devrait être évitée et une meilleure alternative à la liste?

  

Comme utiliser SmartPointers dans les lieux de   pointeurs

Était-ce utile?

La solution

Évitez malloc, utilisez new.

Évitez de vous souvenir, utilisez un constructeur de copie.

Évitez #defines, utilisez const s.

Évitez (C-style) casts, utilisez static_cast<C++>( style casts ).

Évitez les macros, utilisez des modèles.

Évitez les post-incréments si vous pouvez utiliser le pré-incrément.

Évitez les nouveautés, utilisez des collections de types de valeur, laissez la collection traiter de la gestion de la mémoire.

Évitez les pointeurs sur les nouveaux objets, utilisez boost::scoped_ptr ou boost::shared_ptr.

Évitez d'écrire votre propre code pour parcourir les collections, utilisez <algorithm> s

Évitez de réinventer la roue, voyez si boost a ce qu'il vous faut.

Évitez & "; char * name &"; pour stocker des chaînes, utilisez std :: string.

Évitez using namespace foo, utilisez using foo::bar.

Évitez les & déclarations statiques (liens internes) " utilisez des espaces de noms non nommés.

Autres conseils

utiliser de nouveaux styles

static_cast, const_cast, réinterpréter_cast, dynamique_cast,

au lieu de modèles de style C qui ne sont plus considérés comme totalement sûrs

préfère également utiliser les conteneurs STL sur le redimensionnement dynamique des tableaux au moment de l'exécution

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top