Meilleure alternative à l'ancienne fonctionnalité c ++?
-
03-07-2019 - |
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
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