1620-7 唐大智《2016年11月23日》[连续第五十四天总结]
标题:解决遗留的问题
关键词:常成员函数的注意点;const的用法
内容(A)
常成员函数时需注意以下几点:
(1)关键字const加在函数的头部的最后,而不是加在最前面,加在最前面表示函数的类型是一个常量。
(2)关键字const是函数类型的一个组成部分,因此,在常成员函数原型说明和定义时该关键字都不可以省掉。
(3)常成员函数不能修改本类的数据成员,也不能调用其他非常成员函数。
(4)关键字const可以和函数参数表一样作为函数重载时区分不同函数的标志,在这种情况下,重载的原则是:常对象调用常成员函数,一般对象调用一般成员函数。
(B)const的用法:
(1)const修饰普通变量和指针;
(2)const修饰函数参数;
(3)const修饰函数返回值;
(4)const修饰类对象/对象指针/对象引用;
(5)const修饰成员变量;
(6)const修饰成员函数;
(C):const常量与define宏定义的区别
(1) 编译器处理方式不同
define宏是在预处理阶段展开。
const常量是编译运行阶段使用。
(2) 类型和安全检查不同
define宏没有类型,不做任何类型检查,仅仅是展开。
const常量有具体的类型,在编译阶段会执行类型检查。
(3) 存储方式不同
define宏仅仅是展开,有多少地方使用,就展开多少次,不会分配内存。
const常量会在内存中分配。
(D)明日计划:确实如学姐所说,学得太急,基础不稳,准备回头看看需要解决的问题。