【发布时间】:2016-06-10 12:01:44
【问题描述】:
我在 c++ 库中多次看到名称以下划线开头的对象的音调。 我知道一些有用的情况,例如:
class Person {
private:
unsigned int age;
//...
public:
Person(unsigned int _age): age(_age) {}
};
在这里区分逻辑上相同的对象_age、age 很有用。
但也存在全局函数名称(不是来自类)也有单个或多个下划线的情况。所以我想从总体上更从意识形态上理解这一点。
所以:
这种命名方式有什么好处?
什么时候需要使用单个下划线,什么时候需要多个下划线开头?
【问题讨论】:
-
双下划线通常保留给编译器内部使用作为约定。单下划线保留用于库函数以防止冲突。
-
在这种特定情况下,
Person(unsigned int age):age(age){}也是合法的(并产生相同的代码)。 -
@ParagAgarwal - 双下划线总是保留,而不是有时。
标签: c++ naming-conventions naming