在以下类型的代码中,每个变量构造之间是否存在序列点,或者结果未定义?
int a = 0;
int b = a++, c = a++;
我无法在标准中找到对此处序列点的具体引用。这是否意味着它未定义,或者只是我的搜索失败了?表达式的完成是一个序列点,但是上面的初始化也算吗?
我相信行为是明确定义的,因为8[dcl.decl]/3
声明中的每个初始化声明符都会被单独分析,就像它本身在声明中一样。
这甚至在脚注中进一步解释为
具有多个声明符的声明通常等价于相应的声明序列,每个声明序列都有一个声明符
声明者。那是
T D1, D2, ... Dn;
通常相当于
T D1; T D2; ... T Dn;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)