C++ 类(深拷贝和浅拷贝)

C++ 类(深拷贝和浅拷贝)文章概述 1 浅拷贝和深拷贝上一篇文章中 我们提到必要的时候必须手动的写拷贝构造函数 那什么是必要的时候 我们这篇文章分析 浅拷贝和深拷贝我们首先要知道默认拷贝构造函数可以完成对象的数据成员简单的复制 这也称为浅拷贝 对象的数据资源是由指针指向的堆时 默认的拷贝构造函数只是将指针复制 a 我们首先分析下面的代码为什么会出错 classTest private

文章概述


浅拷贝和深拷贝

class Test { private: int* p; public: Test(int x) { this->p=new int(x); cout << "对象被创建" << endl; } ~Test() { if (p != NULL) { delete p; } cout << "对象被释放" << endl; } int getX() { return *p; } }; int main() { Test a(10); //会调用默认的拷贝构造函数 Test b = a; return 0; }
class Test { private: int* p; public: Test(int x) { this->p=new int(x); cout << "对象被创建" << endl; } ~Test() { if (p != NULL) { delete p; } cout << "对象被释放" << endl; } int getX() { return *p; } //深拷贝(拷贝构造函数) Test(const Test& a) { this->p = new int(*a.p); cout << "对象被创建" << endl; } //浅拷贝(拷贝构造函数) //Test(const Test& a) //{ 
     // this->p = a.p; // cout << "对象被创建" << endl; //} }; int main() { Test a(10); //我们手动的写拷贝构造函数,C++编译器会调用我们手动写的 Test b = a; return 0; } 

总结: 浅拷贝会把指针变量的地址复制; 深拷贝会重新开辟内存空间。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/225235.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月17日 上午9:46
下一篇 2026年3月17日 上午9:47


相关推荐

  • Prim算法简易教程(~简单易懂,附最详细注释代码)

    Prim算法简易教程(~简单易懂,附最详细注释代码)详细介绍了Prim算法,图文并茂,循序渐进

    2022年7月12日
    22
  • Pycharm连接Linux服务器进行远程开发

    Pycharm连接Linux服务器进行远程开发Pycharm 连接 Linux 服务器进行远程开发 1 电脑创建空文件夹并用 Pycharm 打开 2 Pycharm 配置 Deployment3 配置 SFTP 验证可成功连接 4 配置项 Linux 项目路径 5 配置本地项目路径以上设置好每个部分都点击 ok 保存 6 配置项目启动依赖 7 添加远程的 python 系统环境 8 选中之前配置好的远程 linux 服务器 9 点击同步一下 此处不会生效 重新配置一下 7 8 两个步骤 10 拉取服务器项目代码 11 django 的项目 ALLOWED HOSTS

    2026年3月27日
    2
  • 序列化和反序列化实现

    1.什么是序列化?程序员在编写应用程序的时候往往需要将程序的某些数据存储在内存中,然后将其写入文件或是将其传输到网络中的另一台计算机上以实现通讯。这个将程序数据转换成能被存储并传输的格式的过程被称

    2021年12月28日
    45
  • ROC曲线及AUC值[通俗易懂]

    ROC曲线及AUC值[通俗易懂]ROC曲线参考文献:【ROC曲线与AUC值】1.介绍及引入ROC的全名叫做ReceiverOperatingCharacteristic,其主要分析工具是一个画在二维平面上的曲线——ROCcurve。平面的横坐标是falsepositiverate(FPR),即假阳性率(1−Sp1-Sp1−Sp);纵坐标是truepositiverate(TPR),即真阳性率(SnSnSn)。对某个分类器而言,我们可以根据其在测试样本上的表现得到一个TPR和FPR点对。这样,此分类器就可以映射成

    2022年5月16日
    61
  • PHP处理字符中的emoji表情

    PHP处理字符中的emoji表情

    2022年2月14日
    74
  • 中国剩余定理【数论】

    中国剩余定理【数论】中国剩余定理

    2026年3月18日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号