当前位置:文档之家› c++计数器的使用方法

c++计数器的使用方法

C++计数器的使用方法
在可视化编程时,常常会用到计数器,大部分人都会为所在的类添加一个成员变量,这个成员变量在程序中将会是全局变量,所以每次对他的操作,下次还会有记录,所以用它来当计数器。

为什么不能在类中的函数里写一个变量来计数呢?因为在函数中的变量生存周期只在当前函数中存活,一旦这个函数运行完,这个变量会释放,下次再用的时候没有保留上次的值,所以当然不能做计数器啦。

那么有人会问了,还有别的方法吗,答案是肯定的。

请看下面两个简单的实例,观察运行结果
实例一
#include "stdafx.h"
#include <iostream.h>
int main(intargc, char* argv[])
{
int i=10;
for(;i>0;i--)
{
int a=88;
a--;
cout<<a<<endl;
}
return 0;
}
实例一运行结果:
实例二
#include "stdafx.h"
#include <iostream.h>
int main(intargc, char* argv[]) {
int i=10;
for(;i>0;i--)
{
static int a=88;
a--;
cout<<a<<endl;
}
return 0; 
}
实例二运行结果:
大家可以看出来,实例二中的static变量并没有被释放,而且仅在第一次循环中被初始化,并不像实例一中的局部变量a反复初始化。

static类型的a显然满足计数器的要求。

所以,程序计数器可以用局部静态变量来代替传统的全局变量。

有孙鑫《VC++深入详解》的同学可以参考P231,使用原理即为上面所述。

相关主题