我知道*a++ = *b++是安全且常用的。但是这种变体在 C、C++ 中也安全吗?
*a++ = *b++ = 0;
一些解释:
假设
a和b都是int *变量,而不是函数调用或宏。假设
a和b是不同的变量。假设
a和b不是volatile。(但如果你真的知道这里发生了什么,你应该知道volatile案例中的答案。)安全意味着行为是明确定义的。(希望是: 0 分配给两者
*a和*b,然后两者a和b都增加一次。)
如果可能,请提供一些权威信息(如相关规范)的链接。