什么是拷贝构造函数?什么是拷贝构造函数?在什么情况下必须实现拷贝构造函数,请说明理由?

什么是拷贝构造函数?什么是拷贝构造函数?在什么情况下必须实现拷贝构造函数,请说明理由?,第1张

什么是拷贝构造函数

是一种特殊的构造函数,特殊之处在于它有的时候会隐式调用

class A {

public:

A(int x, int y, ...) // 普通构造函数

A(const A&) // 拷贝构造函数,一个参数必须是引用类型

}

当你有个函数

calculate(A a) {...}

你调用的时候

A a_in_main(...) // 调用普通构造函数

calculate(a_in_main)// 这个调用因为是参数是A类型的(不是引用也不是指针),所以要拷贝这个对象,这时就会用a_in_main作为A(const A&other)的参数other,在函数calculate中构造一个新的A类对象。

在什么情况下必须实现拷贝构造函数?

因为你不忽略拷贝构造函数的时候,编译器会给你生成一个按数据位拷贝的一个默认版本,即把类的数据成员直接拷贝到新的对象中。这样如果成员有指针指向动态分配的内存,那么直接拷贝指针就会使两个对象中的指针指向同样的内存,一般情况下这种效果都不是想要的。还有一种说法是深拷贝浅拷贝,编译器给你生成的默认版本就是浅拷贝,不会管你指针指向的是什么,只会给你直接把指针的值复制过去。所以只要你需要深拷贝的时候,才需要实现拷贝构造函数。

返回指定列表的副本时。

直接赋值可以看到对b的赋值了a的值,但是修改b的值,a的值也会发生变化因为赋值其实就说应用对象的内存地址,并不是重新开辟新的内存空间进行储存,所以a的值也会发生变化。

比如你需要在一张图上面添加新的元素的时候,为了不破坏原来的图片,就需要新建一个图层,把你新添加的元素放在新建的这个图层中。 拷贝图层也就是复制图层,也是为了不破坏原图片需要做的一步工作,当然如果你很有把握一次做成功,也可以省略掉这一步。 背景图层就是最下面的那张图,很明白的意思就是一个背景。


欢迎分享,转载请注明来源:优选云

原文地址:https://54852.com/hy/671054.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-16
下一篇2023-05-16

随机推荐

  • 泊莱雅化妆品怎么样

    珀莱雅适合什么年龄珀莱雅的护肤品运用海洋护肤理念,产品非常多样化,适合各个年龄层使用,只要是18岁以上的人群都可以使用。珀莱雅的护肤品分为很多个系列,每个系列的侧重点都不同,所以最适合的年龄层也不同,下面将为大家详细介绍各系列最适合的年龄层

    2023-12-14
    79800
  • 佰草集化妆水成分 佰草集化妆水适合肤质

    佰草集化妆水是一款很好的产品,很多人不知道适不适合自己,所以不敢盲目入手,下面的我为你们介绍佰草集化妆水成分,佰草集化妆水适合肤质。佰草集化妆水成分天门冬、金钗石斛、山药、鲜生地。 以上就是佰草集化妆水公布的成分,这些成分都是对皮肤

    2023-12-14
    21400
  • 妈妈适合用玉兰油大红瓶还是雅顿复合霜

    妈妈适合用玉兰油大红瓶还是雅顿复合霜?个人感觉妈妈适合用玉兰油大红瓶,不过还是要根据妈妈的肤质和需求去进行精准的选择。当然,最重要的一点,是在选择护肤品的时候,一定要记得得适合自己。玉兰油Olay大红瓶面霜:这款面霜它的推广名字叫新生塑颜金

    2023-12-14
    19500
  • 特意逛了屈臣氏,想买百雀羚至臻皙白,为什么屈臣氏专柜上的标价和官网上的标价不一样

    在官网上的都是厂家直营价,相对来说是会更便宜的哦。而专柜是实体店价,当然不一样。 实体店要店面租金、物业管理费用、人工费用、水电煤等经营成本,这也是为什么你会发现在京东、亚马逊上买手机、电脑或者其他一些商品比苏宁、国美等实体店便宜的原因。成

    2023-12-14
    26000
  • 完美舒缓修护柔肤水

    完美舒缓修护柔肤水完美舒缓修护柔肤水,化妆水可以说是最最基础的护肤品了,它的质地清透水润,能够为肌肤补充大量的水分,所以经常会在洁面后用到它。下面看看完美舒缓修护柔肤水。完美舒缓修护柔肤水1

    2023-12-14
    15500
  • 描写姿势动作词语是什么意思

    1描写动作的词是什么雷厉风行、流星赶月、星驰电走、眼疾手快、风驰电掣、捶胸顿足、号啕大哭、抱头痛哭、放声痛哭、失声痛哭、弩箭离弦、动如脱兔、声泪俱下、哭哭啼啼、大快朵颐描写人动作的词语、淡然一笑、手舞足蹈、泣不成声、哭爹叫娘

    2023-12-14
    19100
  • 脱毛膏什么牌子好 最好的脱毛膏品牌

    脱毛膏是最常见的一种脱毛产品,夏天大家都会露胳膊露腿,很多爱美的女性朋友嫌身上有毛不好看,都会用脱毛膏脱体毛,脱毛膏去除体毛是很快速方便的。脱毛膏什么牌子好1the face shop植物脱毛膏 参考价格:78元 现在市面上有很多脱

    2023-12-14
    15500
  • 巴黎欧莱雅的护肤品怎么样

    巴黎欧莱雅,巴黎欧莱雅是欧莱雅集团旗下知名度最高、历史最为悠久的三大大众化妆品品牌之一,那么巴黎欧莱雅的护肤品怎么样呢,下面是我分享给大家的巴黎欧莱雅的护肤品怎么样的资料,希望大家喜欢!

    2023-12-14
    16900
  • 加盟化妆品连锁店

    肌肤快线肌肤快线拥有726多家分店及7,000多名员工,是中国目前发展最快的化妆品连锁店。长久以来,肌肤快线不只在品质与创新方面建立了相当声誉,更赢得顾客的高度信赖。在国内,肌肤快线是第一家以“营养肌肤”概念经营的门店,其独特而准确的市场定

    2023-12-14
    16000

发表评论

登录后才能评论
保存