const可以改善程序的健壮性
基础
int b=500;
【1】const int* a=&b;
【2】int const *a=&b;
【3】int* const a=&b;
【4】const int* const a=&b;
如果const位于*的左边,则const用来修饰指针所指向的变量;
如果const位于*的右边,则const用来修饰指针本身。
因此【1】【2】不允许对内容进行修改。
【3】指针不允许改变
【4】指针所指向的内容和指针不允许改变。
const修饰参数
【1】void func(const T* a)
【2】void func(const T& a)
【1】表示指针a所指向的内容为常量,保护了原指针的指向内容。
【2】表示指针a不能对传递进来的引用对象改变,保护了原对象的属性。