经常面试笔试的时候会问道static的作用:
其实可以分为五中情况:三种情况修饰变量,两种情况修饰函数
static global variables(静态全局变量)(类外&&函数外)(C/C++) | 作用域:从整个程序 到 定义这个变量的文件内部 |
static local variables(静态局部变量)(函数中)(C/C++) | 存储位置:从栈 到 程序的data segment(全局数据区) |
static data members(静态成员变量)(类中)(C++) | 存储位置:从class object 内部 到 data segment ,like global variable。 |
static function(静态函数)(类外函数)(C/C++) | 作用域:全局调用 到 只能在定义此函数的文件中使用 |
static data function(静态成员函数)(类函数)(C++) | 作用域:只能class object调用 到 也能用class name 调用 |