栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C++——【拷贝构造函数】

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C++——【拷贝构造函数】

拷贝构造函数 概念

只有单个形参,该形参是对本类类型对象的引用(一般常用const修饰),在用已存在的类类型对象创建新对象时由编译器自动调用。

即用同类型对象构造新的同类型对象。

特征

1.拷贝构造是构造函数的一个重载。(拷贝构造是构造!)

2.拷贝构造函数的参数只有一个,且必须是类类型对象的引用!使用传值方式编译直接报错,因为会引发无穷递归调用(传参会调用拷贝构造,拷贝构造又要传参......)

3.一般加const。防止有人写程序时将新对象拷贝给了原对象从而改变了原对象。

4.若未显式定义,编译器会生成默认的拷贝构造函数。默认的拷贝构造函数对象按照内存存储,按字节序完成拷贝。这种拷贝被称为浅拷贝或值拷贝。

注意:在编译器生成的默认拷贝构造中,内置类型是按照字节方式直接拷贝的,而且自定义类型是调用其拷贝构造函数完成拷贝的。浅拷贝可能会被析构两次(解决方式:自己实现深拷贝)。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1027130.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号