繁体   English   中英

c ++中的赋值运算符是返回rvalue还是左值?

[英]Is assignment operator in c++ returns rvalue or lvalue?

c ++中的赋值运算符是返回rvalue还是左值? 如果它是左值,那么两个参数中的哪一个会增加?

(a = b)++

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

赋值运算符(=)和复合赋值运算符都是从右到左分组。 所有都需要一个可修改的左值作为左操作数,并返回一个左值操作数的左值。

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

通常,之后

(a = b)++

对象a将递增。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM