c++类对象的生存周期 一

构造函数:用来初始化对象的,自动调用的成员方法

  1. 构造函数是可以重载的
  2. 如果在设计类的时候没有自己实现构造函数,则编译器会生成一个默认的构造函数,反之编译器则不会生成默认的构造函数

拷贝构造函数:

  1. 同构造函数的两点 
  2. 编译器默认生成的拷贝构造函数会发生浅拷贝
  3. 拷贝构造函数的形参必须是引用,防止发生递归调用拷贝构造函数

赋值运算符重在函数:

  1. 编译器默认生成的是一个会发生浅拷贝的赋值运算符重载函数
  2. 防止自赋值、浅拷贝、内存泄漏

临时对象:

  1. 临时对象的生存周期在本句表达式    eg:用临时对象构造同类型的已存在的对象,调用构造函数生成显示生成临时对象,然后调用赋值运算符重载函数给存在的对象赋值,赋值重载函数调用完成后临时对象调用析构函数(出了语句临时对象要析构)
  2. 如果临时对象被引用,则临时对象的生命周期就和引用相同
  3. 用临时对象构造同类型的新对象的时候,此时临时对象不生成,用构造临时对象的方法直接构造目标对象
  4. 内置类型产生的临时量是常量,自定义生成的产生的临时量是变量可以被修改 但隐式生成的临时对象是常对象

析构函数:

  1. 没有参数
  2. 不可以重载
  3. 要释放外部引用的资源
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值