Avatar ·

C++标识符中下划线使用规则

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