c++ - 赋值运算符,相同的语句

标签 c++ variable-assignment assignment-operator

这是一个愚蠢的问题,但我被难住了。以下两个 C++ 语句是否相同?

regWages = regPay + overTime;
regPay + overTime = regWages;

最佳答案

没有。一个有效,另一个无效。 (也许。*)

您通常只能分配给左值,从同义反复的意义上讲,它们是您可以分配给的东西。算术表达式的结果通常不是您可以分配给的东西。

更简单地说:a = 1 + 2 可以,但 1 + 2 = a 不行。您可以为 a 赋值,但不能为整数相加的结果赋值。

C++ 中的赋值是一种状态改变。它与“方程式”的数学概念有很大不同。 C++ 中的赋值更像是数学中的定义,但与数学不同的是,您可以为现有对象重新赋值。

*) 运算符重载使图片有点复杂。

关于c++ - 赋值运算符,相同的语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22649209/

相关文章:

c++ - 找不到libstdc++-6.dll

C++ 无限制 union 解决方法

c++ - 使用cgroup来限制资源

c++ - MiXiM 包含错误

c++ - 使用自己的指针遍历数组元素

c++ - 尝试将变量值分配给结构元素。起初变量有正确的值,但结构元素有垃圾值

java - lambda 表达式中的变量赋值

c++ - 当我对具有复制构造函数但没有赋值运算符的对象进行赋值时会发生什么?

c++ - 复制构造函数知识

c++ - 如何重载用于初始化新对象的运算符=?