【发布时间】:2017-03-16 06:21:13
【问题描述】:
我希望这不会被视为“主要基于意见”或“过于宽泛”。这是一个相当直截了当的问题:
重载赋值运算符可以解决哪些示例问题?
我认为我还没有看到它有用的情况,尤其是考虑到程序充满令人惊讶的隐性行为和“烟雾和镜子”的负面影响。
【问题讨论】:
-
标准库中的类型算数吗?
-
您是在问什么时候应该重载赋值运算符?如果是,请检查Rule of three。
-
@imreal 当然,你能解释一个例子吗?
-
@Mahesh 我已经看到了三法则,但我不太明白定义复制构造函数和重载赋值运算符之间的(语义)区别。
-
您可能对
MyClass c = thing_to_copy;感到困惑,它调用了复制构造函数而不是赋值运算符。如果您将其替换为MyClass c; c = thing_to_copy;,您将获得赋值运算符。
标签: c++ operator-overloading assignment-operator