static关键词作用:
1、作用域隐藏。当一个工程有多个文件的时候,用static修饰的函数或变量只能够在本文件中可见,文件外不可见。
2、全局生命周期。用static修饰的变量或函数生命周期是全局的。被static修饰的变量存储在静态数据区。
3、static修饰的变量默认初始化为0.
4、static修饰的变量或函数是属于类的,所有对象只有一份拷贝。
1、作用域隐藏。当一个工程有多个文件的时候,用static修饰的函数或变量只能够在本文件中可见,文件外不可见。
2、全局生命周期。用static修饰的变量或函数生命周期是全局的。被static修饰的变量存储在静态数据区。
3、static修饰的变量默认初始化为0.
4、static修饰的变量或函数是属于类的,所有对象只有一份拷贝。
因此,不能够将静态函数设置为虚函数。
1:定义const常量,具有不可变性;可以修饰变量、引用、对象、成员函数、数组、指针等等
2:const修饰成员函数的时候为了确保该函数不能修改类的中参数的值,会在函数中添加一个隐式的参数const this*
3:便于类型检查;
4:避免模糊数字出现,同宏定义一样;
5:保护被修饰的内存;防止被篡改;
6:节省内存;
7:效率高;
重要区别:
static修饰的函数表示该函数是属于类的,而不是属于某一个对象的,没有this指针。
const修饰的函数表示该函数不能改变this中的内容,会有一个隐含的const this指针。