c++中static的作用是什么

   2025-02-18 7310
核心提示:在C++中,static关键字有以下几种作用:静态变量:在函数内部声明的静态变量在程序运行期间只被初始化一次,并且在函数运行结束

在C++中,static关键字有以下几种作用:

静态变量:在函数内部声明的静态变量在程序运行期间只被初始化一次,并且在函数运行结束后仍然保留其值,下次再调用该函数时将继续使用上次的值。
void func() {static int count = 0; // 静态变量count++;cout << count << endl;}int main() {func(); // 输出 1func(); // 输出 2return 0;}
静态函数:静态函数属于类的成员函数,它只能访问类的静态成员变量和其他静态函数,而无法访问非静态成员变量和非静态函数。静态函数不依赖于任何对象的创建,可以直接通过类名调用。
class MyClass {public:static void staticFunc() { // 静态函数staticVar = 10; // 可以访问静态成员变量//nonStaticVar = 20; // 无法访问非静态成员变量}static int staticVar; // 静态成员变量private:int nonStaticVar; // 非静态成员变量};int MyClass::staticVar = 0; // 初始化静态成员变量int main() {MyClass::staticFunc(); // 调用静态函数cout << MyClass::staticVar << endl; // 输出 10return 0;}
静态成员变量:静态成员变量属于类的成员变量,它在程序运行期间只被初始化一次,并且在类的所有对象之间共享。可以通过类名或对象名来访问静态成员变量。
class MyClass {public:static int staticVar; // 静态成员变量};int MyClass::staticVar = 0; // 初始化静态成员变量int main() {MyClass obj1;MyClass obj2;obj1.staticVar = 10; // 通过对象访问静态成员变量cout << obj2.staticVar << endl; // 输出 10cout << MyClass::staticVar << endl; // 输出 10return 0;}

总结来说,static关键字可以用于创建静态变量、静态函数和静态成员变量。静态变量在函数内部只初始化一次,并且保留其值;静态函数只能访问静态成员变量和其他静态函数,不依赖于对象的创建;静态成员变量在类的所有对象之间共享。

 
 
更多>同类维修知识
推荐图文
推荐维修知识
点击排行
网站首页  |  关于我们  |  联系方式  |  用户协议  |  隐私政策  |  网站留言