3 votes

Initialisateur d'objet statique C++

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 ?

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X