在C++中,静态局部变量具有以下特性:
-
只初始化一次:在函数被首次调用时,静态局部变量会被初始化,且只被初始化一次。
-
保持它们的值:在函数调用之间,静态局部变量会保持它们的值。这与普通的局部变量不同,普通的局部变量在每次函数调用结束后都会失去它们的值。
-
生命周期:静态局部变量的生命周期是整个程序的执行时间,这意味着它们从被初始化开始直到程序结束都存在。而普通的局部变量的生命周期仅仅是它们所在的函数的执行时间。
针对上述特性可以实现那些功能?
-
计数函数调用:如果你想知道一个函数被调用了多少次,可以使用静态局部变量作为计数器。
void callMe() { static int call_count = 0