这是一个初学者会困惑的问题,我简单讲一下我的看法:
static声明的变量类似于全局变量,只不过它只在其作用域里起作用,在作用域外不可见。
const是用来声明一个只读常量。
大家尝试一下下面这个例程就可以清楚了(给出的是全局变量的,可以注释掉全局变量,再分别试试static 和 const的情况)
#include <iostream>
using namespace std;
int i = 0;
void func()
{
//static int i = 0;
//const int i = 0;
cout << "i = " << ++i << endl;
}
int main()
{
for (int x = 0; x < 10; x++)
func();
}
如果有任何想法和建议,欢迎讨论lixinneo@163.com