On m'a appris depuis le lycée que définir des variables comme celle-ci:
int _a;
ou
int __a;
devrait être considéré comme une mauvaise pratique car cela finirait par énigmer les compilateurs qui utilisent des variables commençant par un trait de soulignement pour nommer les variables temporaires.
Pour autant que je sache, c'est la raison pour laquelle certaines personnes aiment déplacer le trait de soulignement à la fin du nom, comme:
int a_;
Cependant, je vois beaucoup de code tout autour qui utilise des variables de début de soulignement. Et ce code se construit assez bien avec Visual Studio 2010 et g ++ 4.x.
Je me demande donc: est-ce que ce n'est pas un problème de nos jours? Les compilateurs modernes sont-ils plus intelligents dans les conventions de dénomination?