小编Two*_*nds的帖子

成员初始化列表中的递增是否会生成未定义的行为?

这会导致未定义的行为吗?具体来说,初始化列表中的递增以及如何评估.

class Wrinkle {
public:
    Wrinkle(int i) : a(++i), b(++i), x(++i) {}
private:
    int a;
    int x;
    int b;
};
Run Code Online (Sandbox Code Playgroud)

成员声明和初始化程序列表之间的顺序差异是有意的,因为这是一个可以准确显示该差异的示例,因此请暂时忽略它.

c++ undefined-behavior language-lawyer ctor-initializer

24
推荐指数
2
解决办法
1247
查看次数