Со средней школы меня учили определять переменные следующим образом:
int _a;
или же
int __a;
это следует считать плохой практикой, потому что это в конечном итоге поставит в тупик компиляторы, которые используют переменные, начинающиеся с подчеркивания, для именования временных переменных.
Насколько я знаю, это причина, по которой некоторым людям нравится перемещать подчеркивание в конце имени, например:
int a_;
Тем не менее, я вижу много кода, который использует переменные, начинающиеся с подчеркивания. И этот код довольно хорошо работает как с Visual Studio 2010, так и с g ++ 4.x.
Итак, я задаюсь вопросом: это не проблема в наше время? Разумнее ли современные компиляторы в отношении соглашений об именах?