Maison >développement back-end >C++ >Les types intégrés en C ont-ils des constructeurs ?

Les types intégrés en C ont-ils des constructeurs ?

Susan Sarandon
Susan Sarandonoriginal
2024-12-08 06:57:10236parcourir

Do Built-In Types in C   Have Constructors?

Les types intégrés ont-ils des constructeurs ?

Lorsqu'un int temporaire est initialisé à 0, est-ce parce que int() appelle le constructeur par défaut ? Il s'agit d'une idée fausse courante, car les types intégrés n'ont pas de constructeurs.

Initialisation de valeur par rapport au constructeur par défaut

L'initialisation de valeur, un concept relativement récent, initialise un objet temporaire avec une valeur appropriée à son type. Pour les types intégrés, cette valeur est 0 pour les entiers.

Déclaration de TC PL

La section 10.4.2 de TC PL indique que les types intégrés ont également des valeurs par défaut constructeurs. Cependant, cette affirmation est sans doute incorrecte dans le contexte des C 98 et C 03.

Clarification de Bjarne Stroustrup

Lorsqu'il a été contacté personnellement, Bjarne Stroustrup a précisé qu'il considérait construit- dans les types pour avoir des constructeurs au sens conceptuel, malgré leur manque d'appels de constructeurs réels. Cette conceptualisation est basée sur leur comportement de type constructeur, tel que l'initialisation des valeurs.

Conclusion

Techniquement, les types intégrés n'ont pas de constructeurs. Cependant, la syntaxe utilisée pour les initialiser (par exemple, int{5}, int{}) est identique à celle des constructeurs. Par conséquent, pour des raisons pratiques, il est raisonnable de considérer les types intégrés comme ayant des constructeurs par défaut qui initialisent leurs valeurs de manière appropriée lors de l'initialisation des valeurs.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn