可能重复:
文件范围和静态浮点数
什么是静态变量?
这是一本书的代码。
class X
{
int i;
public:
X(int ii = 0) : i(ii) {cout<<i<<endl;} // Default
~X() { cout << "X::~X()" << endl; }
};
void f()
{
static X x1(47);
static X x2; // Default constructor required
}
int main()
{
f();
return 0;
}
我的问题是为什么我想像函数 f() 一样将对象声明为静态的?如果我没有将 x1 和 x2 声明为静态会发生什么?