Правила использования символа подчеркивания в идентификаторах C++
В C++ распространено именовать переменные-члены с использованием префикса, чтобы обозначить, что это переменные класса, а не локальные переменные или параметры. Если вы работали с MFC, вы, вероятно, используете m_foo
. Я также иногда видел использование myFoo
.
В C# (или, возможно, только в .NET) рекомендуется использовать просто нижнее подчеркивание, как в _foo
. Разрешено ли это стандартом C++?
2 ответ(ов)
Что касается другой части вопроса, то обычно принято ставить нижнее подчеркивание в конце имени переменной, чтобы избежать конфликтов с внутренними элементами.
Я применяю это правило даже внутри классов и пространств имен, потому что в таком случае мне нужно помнить только одно правило (в отличие от ситуации, когда нужно ставить его "в конце имени в глобальной области", а "в начале имени везде остальном").
Да, символы подчеркивания могут использоваться в идентификаторах в любом месте. Правила следующие: первый символ может быть любым из a-z, A-Z или _, а последующие символы могут быть любыми из указанных плюс цифры 0-9.
Применение символов подчеркивания в префиксах довольно распространено в коде на C — одинарное подчеркивание обычно означает "приватный", а двойное подчеркивание чаще всего зарезервировано для использования компилятором.
Что такое Правило трёх?
Разница между const int*, const int * const и int * const?
Новые возможности C++17: что стоит знать?
Имеют ли круглые скобки после имени типа значение при использовании new?
Что означает 'const' в конце объявления метода класса?