我正在阅读一些代码,而且我很难理解语法:
struct Foo {
int val_;
Foo(int v) : val_(v) {} //--->THIS LINE
};
冒号:
似乎是成员访问运算符。
我能否清楚解释上述一行?
答案 0 :(得分:3)
初始化val_
到v
。
答案 1 :(得分:1)
C ++中的结构可以像类一样拥有构造函数。这是将公共变量val_
初始化为v
,就像在构造函数体中有val_ = v;
一样。请参阅this thread,了解它们在效率方面的优势。