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

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

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

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

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

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

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

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

可联想内置类型的设计,

int a;(默认构造)

int a = 10; (拷贝构造)

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

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

你可能感兴趣的:(C++,c++)