const
- const修饰的值为常量,是不可改变的,在c++语言中是不可改变的,而在C语言中,我们可以通过指针去修改那一片地址的值
- const修饰的指针,表面指针指向或者指针的值是不可被修改的,我们可以通过通配符*的位置来判断,*在左说明修饰的值不可改变,*在右说明指针的指向不能改变
- const修饰函数的参数,表面传入的参数在函数内部不可改变
- const修饰类成员变量,该成员变量只能在初始化列表赋值,而不能在外面改变
- const修饰类成员函数,有时候必须指定其返回值为const类型,以使得其返回值不为“左值”
注
不能调用非const成员函数,因为任何非const成员函数会有修改成员变量的企图
const的成员函数才能被一个const类对象调用。即const类对象只能调用const成员函数
const关键字不能与static关键字同时使用,因为static关键字修饰静态成员函数,静态成员函数不含有this指针,即不能实例化,const成员函数必须具体到某一实例
const修饰类对象
对象的任何成员都不能被修改
只能调用const成员函数
const的返回值同样应该使用一个const去接收
static (对文件的隐藏)
- static函数修饰普通变量,会将它放入常量区,随着程序的消亡而消亡
- static修饰局部变量,他并不会随局部模块的消亡而消失,而实保留着常量区,当模块下一次被调用的时候,还保留原理的值
- static修饰全局变量,static修饰的全局变量只有当前文件可以用
- static修饰函数,函数只能在本文件可以用,所以我们有时候想去调用静态函数,可以通过写接口函数的方式去调用他
extern
他的方法和函数一样,因为函数默认是extern修饰的,总结他的用法就是
可以多次声明,但是只能定义一次