【发布时间】:2018-01-04 04:33:07
【问题描述】:
我知道我们可以在 C++ 中直接分配相同的类对象,但幕后究竟发生了什么?
【问题讨论】:
-
类'
operator=被调用了?例如,a = b(其中a是一个对象)则将调用a.operator=(b)。
标签: c++ class object assignment-operator
我知道我们可以在 C++ 中直接分配相同的类对象,但幕后究竟发生了什么?
【问题讨论】:
operator=被调用了?例如,a = b(其中a 是一个对象)则将调用a.operator=(b)。
标签: c++ class object assignment-operator
有一种叫做“默认copy-constructor”和“默认assignment-operator”的东西。除非您在类中重载这些方法,否则默认行为是将类的所有非静态成员从源类一一复制到目标类。
多一点:这包括指针,顺便说一句。这就是为什么您通常应该重载这些运算符并遵循 rule of three 如果您有指针作为成员。
【讨论】: