C++ static
【面试题2-10】static 有什么作用 (1)在函数体内,一个被声明为静态的变量在这一函数被调用的过程中维持其值不变 (2)在模块内(但在函数体外),一个被声明为静态的变量可以被模块内所有函数访问,但不能被模块外其他函数访问 (3)在模块内,一个被声明为静态的函数只可被这一模块内的其他函数调用。 【面试题2-11】static 变量与普通变量的区别 (1)static 全局变量与普通的全局变量 相同点:static全局变量和普通的全局变量都是静态存储方式。 不同点:非静态变量的作用域是整个源程序,当一个源程序有多个源文件组成时,非静态的全局变量在各个源文件都是有效的 静态变量的作用域是声明它所在的源文件,其他源文件不能使用它。 (2)static 局部变量只被初始化一次,下一次依据上一次结果值 (3)static 函数在内存中只有一份,普通函数在每个被调用中维持一份复制品。 static 函数作用域仅在本文件,只在当前源文件中使用的函数应该说明为内部函数(static), 他们应该在当前源文件总说明和定义。 对于可在当前源文件外使用的函数,应该在一个头文件中说明,要使用这些函数的源文件要包含这个头文件。 【面试题2-12】写出以下程序输出 1 #include <iostream> 2 using namespace std; 3 4 class widget{ 5