C++静态类型

2023-02-28  本文已影响0人  不决书

// static.cpp

   // 定义静态的全局变量
  static int s_variable = 5;

// main.cpp

  // 定义全局变量
  int s_variable = 10;
  int main(){
      std::cout << s_varibale << std::endl;
  }

最后的输出结果是 10
在以上示例中,把static.cpp中的改名更改为

     // 定义全局变量, 与main.cpp的全局变量一直
     int s_variable = 5

以上的代码执行就会报错,提示重复定义,也就是全局变量在整个项目中是唯一的,值运行定义一次,
而静态变量是单独的一块存储,并且是私有的

在以上示例中,我们把main.cpp的变量也定义成静态全局的也是可以正常执行的
当然你也可以让main.cpp读取外部的变量,更改如下
// main.cpp

  // 定义全局变量
  extern int s_variable;
  int main(){
      std::cout << s_varibale << std::endl;
  }

这样执行以上代码输出的结果就是 5,是外部传入的

所以静态变量一定不能乱用

上一篇 下一篇

猜你喜欢

热点阅读