1、只在进入和退出变量作用域之间维护变量的值,静态变量的一种通常用法是“记住”是否已经为一个函数完成过特定的初始化。
第一次调用performTask(),inited值为false;第二次调用performTask()时,inited值为true;因为当程序加载时,就已为其分配内存空间。
代码例子如下:
1 #include "stdafx.h" 2 #include3 4 void performTask() 5 { 6 static bool inited = false; 7 if(!inited) 8 { 9 std::cout<< "initing\n";10 inited = true;11 }12 }13 int _tmain(int argc, _TCHAR* argv[])14 {15 performTask();16 performTask();17 return 0;18 }