c++转换构造与隐式转换

c++寻找参数使用就近原则,作用域内从内向外找

转换构造,利用构造函数进行类型的转换

c++隐式转换,小空间转大空间,数据不丢失

非内置类型隐式转换时,也会遵守c++隐式转换规则,小空间转大空间,隐式构造一个对象用于存放需要转换的对象,这个对象叫做匿名对象,此时会调用对应接口的构造函数,比如要接住一个整型,就会调用整型的转换构造函数

隐式转换成匿名对象后,要把该对象赋给目标对象,(图中第三行)

此时不调用拷贝构造,因为a已经是构造好的对象,只能进行拷贝操作(深或浅拷贝)

也可重载赋值运算符自定义拷贝操作

可联想内置类型的设计,

int a;(默认构造)

int a = 10; (拷贝构造)

int a = 0.1; (隐式转换构造匿名对象然后拷贝构造)

a = 10;(拷贝操作,调用的是“=”运算符)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值