C++基础知识随记
一、什么情况必须使用初始化列表的方式声明构造函数?
1.包含常量类型的成员
2.包含引用类型的成员
3.包含没有默认构造函数的类类型成员
4.优点:对于包含有类类型成员的类来说,省去了调用一次默认构造函数的过程。(初始化列表:拷贝构造 普通构造函数:默认构造+赋值构造)
二、函数后加const(只有类的非静态成员)的作用是什么?
1.在此函数中无法修改类的实例状态(即是类的成员的值)。(若要解除这种限制,可以在类的成员定义之前加上mutable)
三、const对象只能调用自身的const成员函数。
四、函数是否能够返回变量的引用,为什么?
1.如果该变量的生命周期在函数调用完成前已经结束,返回该变量的引用不合法。
2.如果该变量在调用该函数之前就已经存在,返回其引用合法。
坚持成就伟大