C++ 构造函数和析构函数

打印 上一主题 下一主题

主题 869|帖子 869|积分 2607

构造函数和析构函数

目录

页面

构造/和析构函数
问题

编译器为什么要求拷贝构造为什么要传引用?
如果存在两个 同类型的对象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
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

用户国营

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表