C++ 中的 static 存储类


static 存储类指示编译器在程序的生命期内保持局部变量的存在,而不是在局部变量进入或退出作用域时不断创建和销毁它。因此,使得局部变量在函数调用之间保持其值。

static 修饰符还可以应用于全局变量。如果这样做了,它将导致该变量的作用域限制在其声明所在的范围内。

在 C++ 中,当 static 用于类数据成员时,它导致该成员的唯一副本由其类的所有对象共享。

例子

#include <iostream>
void func( void ) {
   static int i = 10; // local static variable
   i++;
   std::cout << "i is " << i ;
   std::cout << " and count is " << count << std::endl;
}

static int count = 6; /* Global variable */

int main() {
   while(count--)
   {
      func();
   }
}

输出

这将给出输出 -

i is 10 and count is 5
i is 11 and count is 4
i is 12 and count is 3
i is 13 and count is 2
i is 14 and count is 1
i is 15 and count is 0

更新于:2020 年 2 月 10 日

494 浏览

开启你的职业生涯

完成课程,获得认证

开始学习
广告
© . All rights reserved.