msc*_*msc 5 c++ class member-initialization
下面的代码给出正确的输出,如果我声明变量i和j,喜欢int i, j;
class A
{
int i, j;
public:
A(int val) : i(val), j(i + 1)
{
cout<<i<<endl<<j<<endl;
}
};
Run Code Online (Sandbox Code Playgroud)
但是,如果我声明变量i和j一样int j, i;.然后j打印垃圾值.
class A
{
int j, i;
public:
A(int val) : i(val), j(i + 1)
{
cout<<i<<endl<<j<<endl;
}
};
Run Code Online (Sandbox Code Playgroud)
那么,它取决于变量声明的顺序吗?