这会导致未定义的行为吗?具体来说,初始化列表中的递增以及如何评估.
class Wrinkle { public: Wrinkle(int i) : a(++i), b(++i), x(++i) {} private: int a; int x; int b; };
成员声明和初始化程序列表之间的顺序差异是有意的,因为这是一个可以准确显示该差异的示例,因此请暂时忽略它.
c++ undefined-behavior language-lawyer ctor-initializer
c++ ×1
ctor-initializer ×1
language-lawyer ×1
undefined-behavior ×1