Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
c ++中的赋值运算符是返回右值还是左值?如果是左值,这两个参数中的哪一个会在这里递增?
(a = b)++
它返回一个左值。根据第 5.17 节:
赋值运算符 (=) 和复合赋值运算符都从右到左分组。所有这些都需要一个可修改的左值作为它们的左操作数,并返回一个指向左操作数的左值。
如果这些对象有一个用户定义的赋值运算符,那么它取决于operator=.
operator=
所以通常,之后
对象a将递增。
a