#include<iostream>
using namespace std;
size_t count_calls() {
static size_t ctr = 0;
return ctr++;
}
int main() {
for (size_t i = 0; i != 10; i++) {
cout << count_calls() << endl;
}
system("pause");
return 0;
}
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210526130641657.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NTM2Mzk5NQ==,size_16,color_FFFFFF,t_70)
```cpp
#include<iostream>
using namespace std;
size_t count_calls() {
size_t ctr = 0;
return ctr++;
}
int main() {
for (size_t i = 0; i != 10; i++) {
cout << count_calls() << endl;
}
system("pause");
return 0;
}
局部对象ctr统计自己被调用了多少次,局部静态变量在执行路径第一次经过对象定义语句时候进行初始化,并且直到程序结束后才被销毁