a*******y 发帖数: 1040 | 1 class AA
{
public:
AA() : _i(2), _j(_i) {}
int _j, _i;
};
void
fff()
{
AA a;
printf("%d\n", a._i);
printf("%d\n", a._j);
}
输出是2
1
为什么不是2
2 | p****o 发帖数: 1340 | 2 the initialization is performed in the order of variable declarations.
it should be okay if change it to
int _i, _j;
【在 a*******y 的大作中提到】 : class AA : { : public: : AA() : _i(2), _j(_i) {} : int _j, _i; : }; : void : fff() : { : AA a;
| a*******y 发帖数: 1040 | 3 也不对啊,那_j应该是随机数才对,每次都给我1啊
【在 p****o 的大作中提到】 : the initialization is performed in the order of variable declarations. : : it should be okay if change it to : int _i, _j;
| k****f 发帖数: 3794 | 4 1也是随机数的之一
【在 a*******y 的大作中提到】 : 也不对啊,那_j应该是随机数才对,每次都给我1啊
| c***g 发帖数: 472 | 5 really?
【在 k****f 的大作中提到】 : 1也是随机数的之一
|
|