本文介绍了C ++中的赋值运算符是返回右值还是左值?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
C ++中的赋值运算符是否返回右值或左值?如果它是左值,那么这两个参数中的哪一个将在此处递增?
Is assignment operator in c++ returns rvalue or lvalue? And if it is lvalue, which of the two arguments will be incremented here?
(a = b)++
推荐答案
它返回左值.根据第5.17节:
It returns a lvalue. Per § 5.17:
如果这些对象具有用户定义的运算符进行赋值,则取决于 operator =
的实现和声明(返回类型).
If those objects have an user-defined operator for assignment, then it depends on implementation and declaration (return type) of the operator=
.
通常,之后
(a = b)++
对象 a
将增加.
这篇关于C ++中的赋值运算符是返回右值还是左值?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!