C/C++:我可以从外部访问函数内的静态变量吗?例如:
#include <iostream>
using namespace std;
void f()
{
static int count = 3;
cout << count << endl;
}
int main(int argc, char** argv)
{
f::count = 5; // apparently this is an invalid syntax.
f();
return 0;
}
Run Code Online (Sandbox Code Playgroud)
ric*_*ici 13
不,你不能,无论是C还是C++.
如果要维护与函数关联的状态,请定义具有适当状态和成员函数的类.(在C++中.你也用C标记了这个问题;同样的技术有效,但你需要自己完成所有的基础工作.)
虽然它们有它们的用途,但大多数时候非常静态的本地人都是个坏主意.它们使你的函数线程不安全,并且它们经常使它成为"一次调用".
| 归档时间: |
|
| 查看次数: |
5916 次 |
| 最近记录: |