Duplicata possible :
portée du fichier et flotteurs statiques
Que sont les variables statiques ?
Voici un code tiré d'un livre.
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;
}
Ma question est la suivante : pourquoi voudrais-je déclarer un objet comme statique comme dans la fonction f() ? Que se passerait-il si je ne déclarais pas x1 et x2 comme statiques ?