C语言中,Static最主要的作用是隐藏,其次因为static的存储在静态内存区,所以具有持久性和默认值为0的特点。
1. Static的隐藏性质,可在不同文件中定义同名函数和同名变量,而不必担心命名冲突。
2. 静态区中一般存储两类变量:全局变量和静态变量。存储在静态区的变量会在程序刚开始运行时就被初始化为0
C++中Static的作用
静态成员函数和静态数据成员一样,它们都属于类的静态成员,它们都不是对象成员。因此,对静态成员的引用不需要用对象名,而用类名。在静态成员函数的实现中不能直接引用类中说明的非静态成员,可以引用类中说明的静态成员。如果静态成员函数中要引用非静态成员时,可通过对象来引用。因为非静态成员是在对象生成之后才分配内存空间的,而静态成员是程序开始运行时就已经分配了内存空间的。
C++会区分两种类型的成员函数:静态成员函数和非静态成员函数。这两者之间的一个重大区别是,静态成员函数不接受隐含的this自变量。所以,它就无法访问自己类的非静态成员。
下面给出一个单例模式
使用方法代码