L'appel d'une Méthode dans le Constructeur

Herb Sutter mentionne dans un de ses http://www.gotw.ca articles qu'un objet est construit(a valide l'existence) que si le constructeur s'exécute complète.c'est à dire de le mettre dans une façon grossière le contrôle passe au-delà de sa dernière accolade.

Maintenant, considérons le code suivant

class A
{
  public:
  A() 
  { 
      f();
  }

  void f() 
  { 
      cout << "hello, world"; 
  }

}; 

int main()
{
   A a;
}

Maintenant de ce que Herb dit, ne peut-on pas dire que, depuis Un n'est pas entièrement construit à l'intérieur de son constructeur l'Appel de f() dans le constructeur n'est pas valide tant que le "il" ptr n'est pas encore prêt.

Encore, il est en effet valide "présent" à l'intérieur du constructeur et f() est appelée.

Je ne pense pas que l'Herbe est de dire quelque chose d'incorrect... mais suppose que je suis en l'interprétant de manière incorrecte....certains peuvent m'expliquer exactement ce que c'est?

Voici le lien de l'article : http://www.gotw.ca/gotw/066.htm
Il parle d'exceptions de constructeurs. Plus précisément voici l'extrait de ma question:

-Quand la vie de l'objet commencer?
Lors de son constructeur se termine avec succès et retourne normalement. C'est, de contrôle atteint la fin du corps du constructeur ou d'un retour plus rapide à la déclaration.

-Quand la vie de l'objet fin?
Lors de son destructeur commence. C'est, de contrôle atteint le début du destructeur corps.
Point Important ici est que l'état de l'objet avant sa vie commence est exactement la même qu'après sa durée de vie se termine -- il n'y a pas d'objet, période de. Cette observation nous amène à la question clé:

Nous pourrions résumer le C++ constructeur modèle comme suit:

Either:

(a) The constructor returns normally by reaching its end or a return statement, and the object exists.

Or:

(b) The constructor exits by emitting an exception, and the object not only does not now exist, but never existed.
InformationsquelleAutor Arun | 2011-02-02