Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/129.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+中的赋值运算符+;返回右值还是左值? C++中赋值操作符返回rValor还是LValk?如果是左值,这两个参数中哪一个会在这里递增 (a = b)++_C++_Expression_Operator Precedence - Fatal编程技术网

是c+中的赋值运算符+;返回右值还是左值? C++中赋值操作符返回rValor还是LValk?如果是左值,这两个参数中哪一个会在这里递增 (a = b)++

是c+中的赋值运算符+;返回右值还是左值? C++中赋值操作符返回rValor还是LValk?如果是左值,这两个参数中哪一个会在这里递增 (a = b)++,c++,expression,operator-precedence,C++,Expression,Operator Precedence,它返回一个左值。根据§5.17: 赋值运算符(=)和复合赋值运算符 从右向左分组都需要一个可修改的左值作为其左值 并返回引用左操作数的左值 若这些对象有一个用于赋值的用户定义运算符,那个么它取决于运算符=的实现和声明(返回类型) 通常情况下,在 (a = b)++ 对象a将递增。您尝试过吗?一条简单的调试消息应该会告诉你答案。它是有效的,它会为第一个参数返回左值,但可能是未定义或未指定的行为?或者可能只适用于这种情况?

它返回一个左值。根据§5.17:

赋值运算符(=)和复合赋值运算符 从右向左分组都需要一个可修改的左值作为其左值 并返回引用左操作数的左值

若这些对象有一个用于赋值的用户定义运算符,那个么它取决于
运算符=
的实现和声明(返回类型)

通常情况下,在

(a = b)++

对象
a
将递增。

您尝试过吗?一条简单的调试消息应该会告诉你答案。它是有效的,它会为第一个参数返回左值,但可能是未定义或未指定的行为?或者可能只适用于这种情况?