zoukankan      html  css  js  c++  java
  • 93、拷贝构造函数和赋值运算符重载的区别?

    1.拷贝构造函数是函数,赋值运算符是运算符重载。

    2.拷贝构造函数会生成新的类对象,赋值运算符不能。

    3.拷贝构造函数是直接构造一个新的类对象,所以在初始化对象前不需要检查源对象和新建对象是否 相同;赋值运算符需要上述操作并提供两套不同的复制策略,另外赋值运算符中如果原来的对象有 内存分配则需要先把内存释放掉。

    4.形参传递是调用拷贝构造函数(调用的被赋值对象的拷贝构造函数),但并不是所有出现"="的地 方都是使用赋值运算符,如下:

    Student s;
    Student s1 = s; // 调用拷贝构造函数
    Student s2;
    s2 = s; // 赋值运算符操作

    注:类中有指针变量时要重写析构函数、拷贝构造函数和赋值运算符
  • 相关阅读:
    Noip2017 提高组初赛 游(baozha)记
    bzoj4557
    MVVM
    当下较热web前端技术汇总
    JQ 常见demo
    各种宽高
    JQuery 总结
    自定义滚动条配合鼠标滚轮demo
    H5 触摸事件
    SQL必备知识点
  • 原文地址:https://www.cnblogs.com/crbhf/p/14995024.html
Copyright © 2011-2022 走看看