C++中的拷贝构造函数

1.拷贝构造函数的介绍

       拷贝构造函数就时构造函数的一种重载,它是在初始化时直接将新创建的这个类的内容初始化和传递的这个类的内容一样

2.拷贝构造函数的创建

       拷贝构造函数就是构造函数的一种,所以创建时还是类的名字,不过传递的参数接受是采用取地址名来接收,因为在C++中,传递参数时,如果是内置类型的参数,则是直接采用拷贝复制的方法,但如果是传递自定义类型的参数,则需要先调用拷贝构造函数,因为拷贝构造函数如果不自己定义,系统也会生成一个默认的函数,所以如果接收参数时是直接接收,则会发生死循环的情况,如果我们采用取别名的方式来接收参数,则会避开这个情况

 一般情况下,因为是复制,所以copy不会被改变,所以可以在Data前面加上const修饰

如果采用直接传值的方式,则很可能发生上面的死循环情况

3.拷贝构造函数与构造函数的不同

拷贝构造函数因为是构造函数的一种,所以大体是相同的,但是也在一些方面存在差异,其中差异主要在默认考贝构造函数上,在默认构造函数中,它不会对内置类型进行处理,但在默认拷贝构造函数中,它却是要对内置类型进行处理,内置类型进行浅拷贝,而自定义类型进行深拷贝,浅拷贝就是直接拷贝,类似memcopy,而深拷贝就是调用类里面的拷贝构造函数进行拷贝。

并且使用引用也会大大提高了效率。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值