static的作用

1)保持变量值:在函数体,一个被声明为静态的变量在这一函数中可以维持其值。这句话可能描述不太准确,大家看下面这个例子吧。

void   staticLocalVar()
{
static int a = 0; // 运行期时初始化一次, 下次再调用时, 不进行初始化工作
cout<<"a="<<a<<endl;
++a;
} int main()
{
staticLocalVar(); // 第一次调用, 输出a=0
staticLocalVar(); // 第二次调用, 记忆了第一次退出时的值, 输出a=1
return 0;
}

2) 对其他模块(文件)隐藏该变量(方法),相当于限定其变量或方法的作用域——只在定义它的文件中可用。

注意:

  a,必须用static的场合:函数返回指针,应该返回static类型的变量指针。

  b,避免用static的场合:可重入函数应该避免使用static类型变量。

最新文章

  1. RandHelper
  2. css 实现悬浮效果
  3. EA(企业架构)落地之道
  4. js无刷新上传文件
  5. mysql 锁
  6. 回车和换行在linux下和windows下
  7. 华为OJ平台——矩阵乘法
  8. javaee后台适合用的编辑器插件
  9. 你听说过XML吗?
  10. Socket层实现系列 — 睡眠驱动的同步等待
  11. Python 锁 同步 互斥锁
  12. AVL Tree Deletion
  13. MySQL数据库权限体系介绍
  14. redis非关系型数据库的基本语法
  15. 集合,ArrayList
  16. JS下拉页面时一个横幅的样式和js
  17. 你不知道的JavasScript上篇&#183;第五章&#183;原型&#183;上
  18. android开发(26) 和其他应用交换数据方式一,使用intent指定自定义action调用其他程序里的activity,并获得其返回的结果
  19. [Swift]数组排序:sort和sorted
  20. 20130501-Twitter向全美用户开放广告平台Twitter Ads

热门文章

  1. .NET:CLR via C#:Runtime Serialization
  2. Rabbit MQ UI 重置 用户名 密码
  3. Cesium随笔(5)CZML介绍(介个文章是转的嘿嘿)【转】
  4. Binary Tree Postorder Traversal leetcode java
  5. 使用Spring Security和OAuth2实现RESTful服务安全认证
  6. js判断是否为手机访问
  7. Android制作曲线、柱状图、饼形等图表——使用AChartEngine
  8. j2ee model1模型完成分页逻辑的实现 详解!
  9. sublime uable to read project
  10. Hyper-V如何应用新的网卡