这篇文章主要讲解一下extern声明全局变量的一些用法,虽然知识点比较浅显,但是却容易犯错,仅与那些初学C++的朋友分享,希望没有让大牛们见笑。
后面的程序中若再出现extern int i = 5;或者int i;的语句,就会出错,因为变量只能定义一次。
理解了这两个概念,我们回过头看extern的作用。extern的作用是扩大全局变量的作用域,本来全局变量的作用域是从定义处开始直到文件结束,使用extern提前声明之后就变成从声明处开始,直到文件结束。那么,对于上面这个程序,作如下修改时不是就对了呢?
其实是错误的,因为前面说了,extern是用来声明全局变量的,而i是局部变量,如果将变量i在main函数外部定义就对了,如下:
使用:在实际编程中,有时程序需要包含多个源文件,若这些文件有共同使用的变量,那么这个变量就遵循“一次定义,多次声明”的形式。即在一个文件中定义,其他文件使用时先进行声明。例如在文件file1中定义了一个变量:
若想在文件file2也使用这个变量,就可以如下:
(const 变量可以向上面的普通变量一样使用 extern ,也可以使用下面的使用方法)
此时就能在其他文件中声明并使用了。具体这反面的原因和头文件的使用有关,这里就不详述了。 |
ExecutorService 全局使用 shutdown extern全局变量
转载本文章为转载内容,我们尊重原作者对文章享有的著作权。如有内容错误或侵权问题,欢迎原作者联系我们进行内容更正或删除文章。
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
Cocos Creator 3.8游戏开发中全局变量管理方案探索
本文给出Cocos Creator 3.8+Typescript编程环境下,开发一款游戏时如何管理全局变量的可能的解决方案。
全局变量 Cocos Creator Typescript Redux MobX -
全局变量 局部变量 static autoregister extern
全局变量 局部变量 static autoregister extern
全局变量 局部变量 static auto extern register -
java中使用全局变量 java 全局变量
其实写这个性能优化类的文章初衷也很简单,第一:目前市面上没有太好的关于性能优化的系列文章,包括一些付费的文章;第二:我需要写一些和别人不同的知识点,比如大家都去写 SpringBoot 了,那我就不会把重点全部放在 SpringBoot 上。而性能优化方面的文章又比较少,因此这就是我写它的理由。至于能不能用上?是不是刚需?我想每个人都有自己的答案。就像一个好的剑客,终其一生都会对宝剑
java中使用全局变量 java 全局变量 java全局变量 springboot 全局变量 循环内用局部变量替换全局变量