Maison > développement back-end > C++ > Quelles fonctions membres le compilateur C génère-t-il automatiquement ?

Quelles fonctions membres le compilateur C génère-t-il automatiquement ?

Barbara Streisand
Libérer: 2024-12-25 09:04:09
original
1015 Les gens l'ont consulté

What Member Functions Does the C   Compiler Automatically Generate?

Fonctions membres générées automatiquement par le compilateur en C

Question :

En C, quelles fonctions membres font le le compilateur crée-t-il automatiquement pour une classe ? Cela se produit-il de manière cohérente pour toutes les classes ?

Réponse :

Le compilateur peut générer les fonctions membres suivantes pour une classe, en fonction des besoins :

C 98/03 :

  • Par défaut Constructeur : Créé si aucun constructeur défini par l'utilisateur n'existe.
  • Constructeur de copie : Créé si aucun constructeur de copie défini par l'utilisateur n'existe.
  • Affectation de copie Opérateur : Créé si aucun opérateur d'affectation de copie défini par l'utilisateur existe.
  • Destructeur : Créé si aucun destructeur défini par l'utilisateur n'existe.

Ces fonctions sont générées en cas de besoin et seulement si elles ne sont pas explicitement déclarées par le programmeur.

C 11 :

En plus du C Fonctions 98/03, C 11 introduites :

  • Déplacer le constructeur : Généré s'il n'y a pas de constructeurs, d'opérateurs d'affectation ou de destructeurs définis par l'utilisateur, la fonction n'est pas marquée pour suppression , et tous les membres et bases sont mobiles.
  • Opérateur d'affectation de déplacement : De même, généré sous le mêmes conditions que le constructeur de déplacement.

Constructeur par défaut :

Le constructeur par défaut est un constructeur généré implicitement qui ne prend aucun argument. Il initialise toutes les variables membres aux valeurs par défaut ou aux zéros. Le constructeur par défaut est essentiel pour créer des objets d'une classe sans spécifier manuellement d'arguments.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal