可能重复:
构造函数中这个奇怪的冒号成员语法是什么?
嗨,我最近在C++程序中遇到了这种语法.这不是将参数传递给基类构造函数,因为我知道它看起来是什么以及如何编码它.这看起来像是类的某种变量初始化......这是代码:
class Particle
{
private:
bool movable;
float mass;
Vec3 pos;
Vec3 old_pos;
Vec3 acceleration;
Vec3 accumulated_normal;
public:
Particle(Vec3 pos)
: pos(pos),
old_pos(pos),
acceleration(Vec3(0,0,0)),
mass(1),
movable(true),
accumulated_normal(Vec3(0,0,0))
{}
Particle() {}
// More unrelated code
};
Run Code Online (Sandbox Code Playgroud)
小智 6
初始化列表可用于初始化成员变量以及父项.这是编写构造函数的正确方法 - 像这样的初始化比在构造函数体中进行赋值更有效,并且在语义上可能更正确.
| 归档时间: |
|
| 查看次数: |
159 次 |
| 最近记录: |