Maison > développement back-end > C++ > Les variables membres peuvent-elles être initialisées avec des arguments de constructeur du même nom en C ?

Les variables membres peuvent-elles être initialisées avec des arguments de constructeur du même nom en C ?

Susan Sarandon
Libérer: 2024-11-13 03:35:02
original
932 Les gens l'ont consulté

Can Member Variables Be Initialized with Constructor Arguments of the Same Name in C  ?

Utilisation d'arguments de constructeur avec le même nom que les variables membres

Question originale :

Est-ce que il est permis selon la norme C d'initialiser les variables membres en utilisant le même nom que le constructeur arguments ?

Réponse :

Oui, le standard C permet cette approche. Le code initialise les variables membres en fonction des noms fournis dans les arguments du constructeur. L'exemple suivant illustre cela :

#include <cstdio>
#include <vector>

class Blah {
    std::vector<int> vec;

public:
    Blah(std::vector<int> vec) : vec(vec)
    {}

    void printVec() {
        for (unsigned int i = 0; i < vec.size(); i++)
            printf("%i ", vec.at(i));

        printf("\n");
    }
};
Copier après la connexion

Référence standard :

La norme C (§12.6.2/7) stipule que « Les noms dans la liste d'expressions d'un mem-initializer sont évalués dans la portée du constructeur pour lequel le mem-initializer est spécifié."

Considérations supplémentaires :

L'exemple démontre également que l'utilisation de const std::vector &vec comme type de paramètre peut éviter une copie inutile de l'objet vectoriel d'origine.

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