J'étudie les listes d'initialisation des membres en C++. Considérons l'exemple suivant :
struct Person
{
public:
Person(int pAge): age(pAge)
// ^^^^^^^^^ is this member initializer formally part of the constructor body?
{
}
private:
int age = 0;
};
Ma première question est la suivante qui est l'initialisateur du membre age(pAge)
officiellement dans le corps du constructeur. Je veux dire que j'ai lu que le corps d'une fonction commence à partir de l'ouverture {
et se terminent à la fermeture }
. D'après ce que je comprends actuellement, il y a quatre choses en jeu ici :
-
Définition de Ctor : Cela comprend l'ensemble du
//this whole thing is ctor definition Person(int pAge): age(pAge) { }
-
Initialisateur de membre : C'est le
age(pAge)
partie. -
Déclaration Ctor : C'est le
Person(int pAge)
partie. -
Le corps de Ctor : C'est la région entre l'ouverture
{
et la fermeture}
.
Ma deuxième question est que la description donnée ci-dessus est correcte ? Si non, quelle devrait être la signification correcte de ces quatre termes selon la norme C++ : Définition de Ctor , Initialisateur de membre , Déclaration Ctor y Le corps de Ctor .
PS : J'ai lu ce post qui ne répond pas à ma question.