Question :
Les constructeurs par défaut, générés automatiquement par le compilateur, initialiser les types intégrés en C ?
Réponse :
Non, le constructeur par défaut (créé par le compilateur pour les classes sans constructeurs définis par l'utilisateur) n'initialise pas les membres des types intégrés.
Cependant, il est important de noter qu'il existe d'autres mécanismes d'initialisation des instances de classe qui n'impliquent pas la valeur par défaut constructor :
Exemple :
Considérons la classe suivante :
class C { public: int x; };
Le compilateur -le constructeur par défaut fourni pour C ne s'initialisera pas C::x.
C c; // Compiler-provided default constructor is used // c.x contains garbage
En revanche, l'utilisation de l'initialisation par valeur ou de l'initialisation globale initialisera C::x:
C c = C(); // Uses value-initialization instead of default constructor // c.x == 0 C d{}; // Aggregate initialization // d.x == 0
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!