const--常量关键字
(1)const int b=0;//定义常量除非法手段不可修改b的值
(2)const int*b=0;//常量指针,const修饰的是指针指向的空间,所以指针指向的空间内的内容不能修改,但指针的指向可以修改。(常量指针--常量在前不改常量)
int* const b=0;//指针常量,const修饰的是(*)指针,而不是指针修饰的空间,所以指针的指向不能改变,但指针指向空间的值可以改变
(3)void fun()const{};被const修饰的函数为常函数,
1.常函数的const加在参数列表之后,
2.在类中一般的函数中有默认的this指针其修饰方式为(函数名 *const this)而在类中的常函数的修饰方式为(const 函数名 *const this),
3.在常函数中即使是类中的变量也不能改变,不能修改,因为在常函数中this指针所指的对象也被const修饰所以不能修改。
4.const也代表安全级别const多代表安全级别高,在函数调用中函数级别高的无法调用函数级别低的,相反安全级别低的能调用安全按级别高的
5.在常函数中不能调用普通函数,但在普通函数中可以调用常函数
6.mutable int b;-------mutable修饰的变量可以在常函数中直接修改