J'ai besoin de quelques exemples de mauvais code C++ qui illustreront la violation des bonnes pratiques. Je voulais trouver mes propres exemples, mais j'ai du mal à trouver des exemples qui sont ne sont pas inventés, et où le piège n'est pas immédiatement évident (c'est plus difficile qu'il n'y paraît).
Voici quelques exemples :
- Ne pas définir de constructeur de copie pour les classes avec
std::auto_ptr
et en utilisant lesstd::auto_ptr
avec des classes déclarées à l'avance. - Appel de fonctions virtuelles à partir d'un constructeur ou d'un destructeur (directement ou indirectement).
- Surcharge d'une fonction modèle.
- Références circulaires avec
boost::shared_ptr
. - Trancher.
- Lancer des exceptions à partir de rappels C (directement ou indirectement).
- Comparaison en virgule flottante pour l'égalité.
- Sécurité des exceptions pour les constructeurs dont les membres sont des pointeurs bruts.
- Lancer des destructeurs.
- Débordement d'un nombre entier lors de la compilation sur des architectures différentes (non-concordance de
size_t
yint
). - Invalidation d'un itérateur de conteneur.
...ou toute autre chose maléfique à laquelle vous pouvez penser.
J'apprécierais que l'on m'indique des ressources existantes ou que l'on me donne un ou deux exemples.