[英]Initializing Class members with zero
我的代码中有一个类,其中包含一些整数数据成员,但没有方法。 当我使用new()创建数据对象的新对象时,是否存在一种将所有数据项初始化为0的方法?
class A
{
int x_;
int y_;
public:
A()
:
x_(0),
y_(0)
{}
};
A()构造函数放在方括号“ {}”之前的部分称为“初始化列表”,在上述情况下,可用于将变量初始化为默认值0或其他可能传递给的值可以将这些值用作参数的构造函数。 但是,如果初始化类型为A的对象(例如,使用“ new”),则属性将被初始化为这些值。 以声明属性的顺序初始化属性是一种很好的编码风格,它使代码更具可读性。
值初始化:
struct X
{
int i, j;
};
X* x = new X(); // The '()' are required.
// 0 == x->i && 0 == x->j
class clasName{
int x1= 0;
int x2= 0;
int x3= 0;
int x4= 0;
int x5= 0;
}
仅在C ++ 11中。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.