构造函数
来源:互联网 发布:全民枪战刷头像软件 编辑:程序博客网 时间:2024/06/10 07:54
拷贝构造函数定义格式:类名(const类名&变量名)
析构函数不需要加参数,不能被重载;拷贝构造函数:深拷贝、浅拷贝:
记得11年底找工作的时候,面试时曾经遇到有面试官问的对深拷贝与浅拷贝的理解,那时候自己回来查了资料,写了篇博客,感觉自己理解了,其实理解的不深刻,最近在调试bug的时候,再次遇到深拷贝与浅拷贝,认真分析了,写写自己的心得吧。
先说下自己的理解吧,浅拷贝,即在定义一个类A,使用类似A obj; A obj1(obj);或者A obj1 = obj; 时候,由于没有自定义拷贝构造函数,C++编译器自动会产生一个默认的拷贝构造函数。这个默认的拷贝构造函数采用的是“位拷贝”(浅拷贝),而非“值拷贝”(深拷贝)的方式,如果类中含有指针变量,默认的拷贝构造函数必定出错。
用一句简单的话来说就是浅拷贝,只是对指针的拷贝,拷贝后两个指针指向同一个内存空间,深拷贝不但对指针进行拷贝,而且对指针指向的内容进行拷贝,经深拷贝后的指针是指向两个不同地址的指针。
阅读全文
0 0
- 构造函数
- 构造函数
- 构造函数
- 构造函数
- 构造函数
- 构造函数
- 构造函数
- 构造函数
- 构造函数
- 构造函数
- 构造函数
- 构造函数
- 构造函数
- 构造函数
- 构造函数
- 构造函数
- 构造函数
- 构造函数
- 《C++ Concurrency in Action》笔记 前言
- spark<java.nio.channels.ClosedChannelException>
- JDBC
- java处理导入Excel数据重复数据,整理后在导入
- Oracle 11g必须开启的服务及服务详细介绍,oracle的命令大全
- 构造函数
- 使用BottomNavigationView是activity无法启动问题
- 【国际】“风险极高”:英国金融监管机构发布ICO声明
- 【动态】保险巨头AXA利用以太坊区块链开发新的航空保险产品
- 【动态】金融机构需同金融科技创业公司加强合作
- 【行业】金融科技:美国发展最快的行业
- 【国际】俄罗斯央行发布加密货币和ICO警告
- caffe入门
- stm32 IAR