Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/138.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 表达式(a=b)=k UB?_C++_Expression_Undefined Behavior - Fatal编程技术网

C++ 表达式(a=b)=k UB?

C++ 表达式(a=b)=k UB?,c++,expression,undefined-behavior,C++,Expression,Undefined Behavior,如果a、b和k为int类型且正确初始化,则(a=b)=k是否为未定义行为 谢谢我a正在使用两个序列点进行多次修改 (a=b)的结果是一个左值1,它是对a 1.调查结果 赋值运算是赋值后存储在左操作数中的值结果 是LValue/Stult>(5.17美元/ 1)。< /P> @ FX32:它在C++中执行,是的。不是在C中。我的直觉告诉我,这将在C++0x中得到很好的定义。@Fredfolflow:是的!该行为在C++0x中有很好的定义。:)如果为其用户定义的类定义了赋值运算符,那么在这两者之间应

如果a、b和k为int类型且正确初始化,则
(a=b)=k是否为未定义行为


谢谢我<代码>a
正在使用两个序列点进行多次修改

(a=b)
的结果是一个左值1,它是对
a

1.调查结果 赋值运算是赋值后存储在左操作数中的值结果
是LValue/Stult>(5.17美元/ 1)。< /P> @ FX32:它在C++中执行,是的。不是在C中。我的直觉告诉我,这将在C++0x中得到很好的定义。@Fredfolflow:是的!该行为在C++0x中有很好的定义。:)如果为其用户定义的类定义了赋值运算符,那么在这两者之间应该有一个序列点,因此应该定义行为。@Andrei:
a
b
k
属于问题中提到的
int
类型。所以行为是没有定义的。