C++标识符中下划线使用规则
大家好!我刚开始学习C++,注意到在不同代码示例中下划线`_`的使用方式不同。有时它在变量名开头,例如`_value`或`__value`,有时在末尾——`value_`。而在一些标准库中,我见过像`_M_engine`或`__func__`这样的名称。
我写了一段小代码,编译没有错误:
```cpp
#include
int _myVar = 10;
int main() {
int __anotherVar = 20;
std::cout << _myVar + __anotherVar;
return 0;
}
```
但后来我读到,某些带下划线的标识符是为编译器和标准库保留的。现在我担心我的代码可能会意外崩溃或导致未定义行为。
请告诉我,使用下划线的命名规则有哪些?什么时候可以用,什么时候不能用?为什么这些规则如此严格?感谢详细解释,并附上正确和错误的示例。