c++中static变量有什么用
主要有两点用途。
1.让一个变量长期有效,而不管其是在什么地方被申明。比如:
int fun1()
{
static int s_value = 0;
....
}
那么fun1不管在什么地方被调用,当函数退出后,s_value最后的值将一直会被系统保存(相当于一个全局变量),下次s_value再被用到时,也即当fun1()再次被调用时,s_value初始值将是最近被保存过的值(请注意s_value初始化操作只会被执行一次,即上述s_value =0 这个语句)。
2.避免多个文件使用了相同的变量名而导致冲突
比如有多个文件,分别由几个人独立开发的。假定他们在各自的文件中定义相同的“全局”变量名(仅仅指在他们独自的文件中全局),当系统集成时,由于他们使 用了名字一样的“全局”变量,导致有难于遇见的问题。解决这个问题方便的做法就是在各自文件中,在相同的全局变量申明前加上static修饰符。这样系统 就会为他们分配不同的内存,互不影响了。
c++中static变量有什么用的更多相关文章
- c++ 类与函数中static变量初始化问题(转)
首先static变量只有一次初始化,不管在类中还是在函数中..有这样一个函数: void Foo() { ; // initialize std::cout << a; a++; } 里的 ...
- java中static变量和方法的总结
转自:http://blog.csdn.net/haobo920/article/details/5921621 java中static变量和方法的总结 java中一切皆是对象 一个类中对象的定义一般 ...
- Asp.net中static变量和viewstate的使用方法(谨慎)
在.Net平台下进行CS软件开发时,我们经常遇到以后还要用到某些变量上次修改后的值,为了简单起见,很多人都习惯用static来定义这些变量,我也是.这样非常方便,下一次调用某个函数时该变量仍然保存的是 ...
- iOS中 static变量与全局、局部变量的区别 !
static变量与全局.局部变量的区别 全局变量(外部变量)的说明之前再冠以static 就构成了静态的全局变量.全局变量本身就是静态存储方式,静态全局变量当然也是静态存储方式. 这两者在存储方式上并 ...
- Java多线程中static变量的使用
轉:https://blog.csdn.net/yy304935305/article/details/52456771 鲁迅先生曾说过:“时间就像海绵里的水,只要愿挤,总还是有的”.不管肿(怎)么说 ...
- 谨慎Asp.ne B/S架构t中static变量
在.Net平台下进行CS软件开发时,我们经常遇到以后还要用到某些变量上次修改后的值,为了简单起见,很多人都习惯用static来定义这些变量,我也是.这样非常方便,下一次调用某个函数时该变量仍然保存的是 ...
- 慎重Asp.net中static变量的使用方法
在.Net平台下进行CS软件开发时,我们常常遇到以后还要用到某些变量上次改动后的值,为了简单起见,非常多人都习惯用static来定义这些变量,我也是.这样非常方便.下一次调用某个函数时该变量仍然保存的 ...
- Java中static变量作用和用法详解
static表示"全局"或者"静态"的意思,用来修饰成员变量和成员方法,也可以形成静态static代码块,但是Java语言中没有全局变量的概念. 被static ...
- ecmall中static变量的使用-model模型代码设计
function &m($model_name, $params = array(), $is_new = false) { static $models = array(); $model_ ...
随机推荐
- 论文阅读笔记二十:LinkNet: Exploiting Encoder Representations for Efficient Semantic Segmentation(CVPR2017)
源文网址:https://arxiv.org/abs/1707.03718 tensorflow代码:https://github.com/luofan18/linknet-tensorflow 基于 ...
- .net C# 抽奖,中奖
demo设置了8个奖项,每个奖项可以自定义中奖率,精度为1/10000 public string PrizeDraw() { //奖品以及中奖率 const string prizeString = ...
- CAS—认证原理
CAS,Central Authentication Service—中央认证服务,是Yale 大学发起的一个企业级的.开源的项目,旨在为Web应用系统提供一种可靠的SSO解决方案.下面简单介绍SSO ...
- azkaban group分组,权限
翻译自:https://azkaban.readthedocs.io/en/latest/userManager.html?highlight=group 1.job project,名为" ...
- Python自定义排序
比如自定义了一个class,并且实例化了这个类的很多个实例,并且组成一个数组.这个数组要排序,是通过这个class的某个字段来排序的.怎么排序呢? 有两种做法: 第一种是定义__cmp__( )方法: ...
- .NET C# 创建WebService服务简单的例子
Web service是一个基于可编程的web的应用程序,用于开发分布式的互操作的应用程序,也是一种web服务 WebService的特性有以下几点: 1.使用XML(标准通用标记语言)来作为数据交互 ...
- Java集合源码学习(二)ArrayList
1.关于ArrayList ArrayList直接继承AbstractList,实现了List. RandomAccess.Cloneable.Serializable接口,为什么叫"Arr ...
- scrapy中输出中文保存中文
1.json文件中文解码: #!/usr/bin/python #coding=utf-8 #author=dahu import json with open('huxiu.json','r') a ...
- JMeter监控Slave机器是否执行
netstat -anp | grep 192.168.1.161 | grep 19091 | wc -l http://www.linuxidc.com/Linux/2014-09/106497. ...
- 请使用千位分隔符(逗号)表示web网页中的大数字
方法一:使用正则表达式 语法如下: String(Number).replace(/(\d)(?=(\d{3})+$)/g, "$1,"); 举例: String(12345678 ...