C++中static变量的作用是什么

本篇文章给大家分享的是有关C++中static 变量的作用是什么,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

创新互联建站-专业网站定制、快速模板网站建设、高性价比泰兴网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式泰兴网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖泰兴地区。费用合理售后完善,十多年实体公司更值得信赖。

static修饰变量的话,有两点要注意。

1.变量的存储区域在全局区,不管变量是在函数体内,class内,还是cpp文件内。

2.变量的作用域在离它最近的{}内部,出了{}之外,不可以使用。

具体场景可以参考下面的例子,编译器是Linux下面的G++。

代码如下所示:

C++中static 变量的作用是什么

为了比较区别,在这里变量名都是a,发现都可以编译通过。这也就表明G++做了处理,可以区分出来不同作用域里面的变量。

为了进一步知道原因,我编译出来了汇编,命令G++ -S *.cpp。

汇编代码如下:

C++中static 变量的作用是什么

从上到下,我们可以看到,不同函数内的变量static int a;

会在变量前加上对应的函数名,例如:

1.main函数里面的,变成了_ZZ4mainE1a;

2.Fun函数内的,变成了_ZZ4FunvE1a;

3.全局变量的,变成了_ZE1a;(这里没有粘贴出来,后续补上。)

以上就是C++中static 变量的作用是什么,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注创新互联行业资讯频道。


分享标题:C++中static变量的作用是什么
链接URL:http://azwzsj.com/article/gohips.html