局部静态变量:当需要让局部变量的生命周期贯穿在函数结束之后时,可将局部变量生命为static类型.
#include<iostream>
using namespace std;
size_t count_calls()
{
static size_t ctr = 0; //调用结束后,这个值仍然有效?
return ++ctr; //每次调用将ctr加1返回新值。并在函数退出时得以保存?
}
int main() {
for (size_t i = 0; i != 10; ++i)
cout << count_calls() << endl;
return 0;
}
结果为: