ToB企服应用市场:ToB评测及商务社交产业平台
标题:
C++ 构造函数和析构函数
[打印本页]
作者:
用户国营
时间:
2023-3-15 19:07
标题:
C++ 构造函数和析构函数
构造函数和析构函数
目录
页面
问题
构造函数与析构函数
初始化列表
转换构造
拷贝构造(这种都是浅拷贝,每一项成员依次拷贝过去)
默认的赋值运算符
小的总结
页面
构造/和析构函数
问题
编译器为什么要求拷贝构造为什么要传引用?
如果存在两个 同类型的对象A a, b ,如果将a 拷贝给 b ,实际上call b类的拷贝构造,b对象的拷贝对象是如果是非引用形式。以 a() 实参, (A const A a)形参 ,这时是同一类型,他又回去call 形参的拷贝构造,形参还是(A const A a)形参 ,实参又去形参的拷贝构造 ,套娃。。。
Int & 不能拷贝给匿名对象上的
为什么要const A &a (45 被bind 后是没有绑定匿名对象上的,const 是为兼容bind 到
匿名对象的
)
做一个逻辑上的常量限制。(从逻辑上是不允许被拷贝对象被修改的)
兼容const类型的拷贝 不允许直接吧const 类型的变量直接传到址非const的引用, 因为非const 是可以修改的。
构造函数与析构函数
构造/和析构函数使用方式默认构造函数ostream a;ostream(string name )ostream a(xx)ostream (const ostream &a)拷贝构造 于 = 不等价~ostream无 析构每个对象创建时,一定call 构造函数,当然销毁也一定会调析构。
[code]class Data{public : Data() { cout
欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/)
Powered by Discuz! X3.4