条款03:尽可能的使用const
const变量和对象:
const int data=初始值;//定义的时候必须初始化;
const 类类型 对象; //const对象只能调用const成员函数
const指针:
const int *p; //指针所指物为常量,不可修改,但指针可以重新指向。
int* const p;//指针本身是常量,不可重新指向,但指针所指的内容可以修改。
const int* const p;//指针自身和指针所指物都不可修改。
cosnt引用:
const int &p=初始值;
int const &p=初始值;
这两个都是引用对象不能改变。
const函数的参数与返回值:
函数参数:函数体不能修改参数的值;
函数的返回值:函数返回值不能修改;
const成员函数(声明和定义的时候写在函数的最后面):
常成员函数不能修改任何一个成员变量;
这一类成员函数比较重要,原因:
(1)使类的接口比较容易理解,可以清楚的看出哪个函数可以修改成员变量,哪个函数不可以修改成员变量;
(2)操作const对象;
注意:两个成员函数如果只是常量性的不同,可以被重载;
class Test
{
public:
int Show()const; //声明;
};
int Test::Show()const //定义
{
//函数体
}