一、static关键字的作用
static可以用来修饰局部变量、全局变量以及全局函数:
1、修饰局部变量
-
可以延长数据的生命周期,直到程序结束后才释放。
2、修饰全局变量
- 该变量只能在本文件中使用,其他文件中不能访问。
3、修饰全局函数
- 该函数也只能在本文件中使用,其他文件中不能声明去调用。
static也可以用来修饰类中的成员变量与成员函数:
1、修饰类中的成员时:
- 该成员属于类不属于具体的对象;
- 该成员对于所有的对象的共享的,并在创建之前就已经产生了;
- 在使用之前必须要初始化,在类中声明,在类外进行初始化
- 该成员可以通过 类名 :: 去访问;
2、修饰成员函数时:
- 静态成员函数不能访问非静态成员;
- 非静态成员函数可以访问静态成员
以下是代码示例:
二、const关键字
1、修饰变量
- 表示该变量只能读,不能修改。
2、结合指针一起使用
3、const修饰形参时
-
形参在函数内部不能改变。有时候函数参数传递指针或者引用时,在函数内部不希望数据被修改,就可以加上const;
4、在类中修饰成员函数时
-
可以访问非const成员变量,但是不能修改;
-
不能调用非const成员函数;
-
可以访问和修改静态变量的值;
5、修饰类中的成员变量时
-
要在构造函数列表初始化,不能在构造函数内部初始化;
以下是代码示例: