评论

收藏

[C++] C++何时调用赋值运算符

编程语言 编程语言 发布于:2021-07-22 11:16 | 阅读数:213 | 评论:0

1.将已有的对象赋给另一个对象时,将调用重载的赋值运算符。
2.初始化对象时,并不一定会使用赋值操作符:
StringBad metoo=knot;   // use copy constructor, possibly assignment, too
这里,metoo是一个新创建的对象,被初始化为knot的值,因此使用赋值构造函数。不过,正如前面指出的,实现时也可能分两步来处理这条语句:使用复制构造函数创建一个临时对象,然后通过赋值操作符将临时对象的值复制到新对象中。这就是说,初始化总是会调用复制构造函数,而使用=操作符时也可能调用赋值构造函数。
与复制构造函数相似,赋值运算符的隐式实现也对成员进行逐个复制。如果成员本身就是类对象,则程序将使用为这个类定义的赋值运算符来复制该成员,但静态数据成员不受影响。


关注下面的标签,发现更多相似文章