首页 > 其他 > 详细

局部静态变量

时间:2014-11-28 22:42:27      阅读:375      评论:0      收藏:0      [点我收藏+]
 1 #pragma region 成员函数的局部静态变量应用
 2 class CTestA
 3 {
 4 public:
 5     CTestA();
 6     void ReturnCurrentTime(float currentFrame, float nextFrame);
 7 };
 8 
 9 CTestA::CTestA(){}
10 
11 void CTestA::ReturnCurrentTime(float currentFrame, float nextFrame)
12 {
13     static float _currentFrame   = currentFrame;   //静态局部变量,任何对象调用这个方法时都是这个值
14     static float _nextFrame      = nextFrame;      //静态局部变量,任何对象调用这个方法时都是这个值
15     cout<<"_currentFrame="<<_currentFrame<<" _nextFrame="<<_nextFrame<<endl;
16     _nextFrame=2000;                               //修改静态变量的值,任何对象调用这个方法时都是这个值
17 }
18 
19 void test107()
20 {
21     CTestA a1;
22     CTestA a2;
23     float i=100.0f;
24     float j=200.0f;
25     a1.ReturnCurrentTime(i,j);                    //第一次初始化,输出是100,200
26     i      =1.0f;
27     j      =2.0f;
28     a2.ReturnCurrentTime(i,j);                    //第二次初始化输出的是100,2000,而非1和2,可见外部变量只能初始化一次局部静态变量
29 }
30 #pragma endregion

局部静态变量的应用,不明白时百思不得其解,明白后就豁然开朗,场景代码太多,这里仅仅直接抽象出部分代码来.

 

局部静态变量

原文:http://www.cnblogs.com/QQ122252656/p/4129469.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!