类中4个默认的函数
函数名 | 简介 | 特点 |
构造函数 | 初始化对象所占的内存空间(赋资源) | 可以重载 不依赖对象 不能手动调用 有 this 指针 |
析构函数 | 释放对象所占的资源 | 不可重载 依赖对象调用 手动调用(不建议,析构函数的调用退化普通函数的调用) 有 this 指针 |
拷贝构造函数 | 拿一个已存在对象生成相同类型的新对象 | 默认的拷贝构造函数是浅拷贝(如果类成员变量有指针,考虑实现深拷贝) 形参一定要是引用(否则递归生成新对象,形参对象无法生成) |
赋值运算符的重载函数 | 拿一个已存在的对象给另一个相同类型的已存在对象赋值 | 默认的赋值运算符的重载函数为浅拷贝 过程:a.自赋值判断 |
注意:在类的编写时,若是不提供这些默认函数,则系统提供;若是提供,则系统不提供 。
相关知识点:
1. 临时量的生存周期:表达式结束。引用能提升临时对象的生存周期
(1)内置类型 常量
(2)自定义类别 变量
(3)隐士生成的临时量 常量
2. 临时对象的优化:
如果临时对象的生成是为了生成新对象,就以生成临时对象的方式来生成新对象