0.extern
意思是外部的,什么是外部呢,相对的是内部,在内部之外的,我们称为外部,这里只的模块或者文件外部
这是一个修饰符,可以用来修饰哪些东西呢,能修饰的东西无非变量和函数两个,函数又分为外部函数和成员函数。
修饰符修饰变量或者函数有哪些影响,无非两个:
1.影响变量的读写属性
2.影响变量的作用域
1.static
意思是静态的,与静态相对的就是动态,让我们联想动态内存分配,有分配有销毁。
那么静态的意思可以理解为分配后就是状态是静止的,不销毁的。
这是一个修饰符,既然是修饰符,那么就是用来修饰的,c++中有那些东西可以用修饰符来修饰呢:
1.变量(局部变量,全局变量)
2.指针(严格来说还是变量)
3.函数参数
4.类成员函数
5.函数返回值
2.const
const修饰变量,表示该变量的值不可修改
const修饰函数返回值,使得函数返回值不能是“左值”,什么是‘左值’,左边的值,与之对应的是右值,
这里的左右是对应赋值运算符的两边,左边一般只变量,可以通过赋值修改,右边一般是常量,用于赋值给左边的变量,如
int var = 5;
const修饰指针有两种情况,因为指针有两种语义,他首先是一个变量,然后他指向一个变量的地址,可以分开修饰
const在修饰变量的时候,默认为将两种情况都修饰了,变量值不可修改,那么变量的地址当然是不可修改的。