下面的代码给出了正确的输出,如果我声明变量i
和j
,就像int i, j;
class A
{
int i, j;
public:
A(int val) : i(val), j(i + 1)
{
cout<<i<<endl<<j<<endl;
}
};
但是如果我声明变量i
and j
,就像int j, i;
. 然后j
打印垃圾值。
class A
{
int j, i;
public:
A(int val) : i(val), j(i + 1)
{
cout<<i<<endl<<j<<endl;
}
};
那么,它是否取决于变量声明的顺序?