Maison > développement back-end > C++ > le corps du texte

Comment initialiser des membres de données statiques privées en C sans constructeurs statiques ?

Patricia Arquette
Libérer: 2024-11-10 18:06:02
original
397 Les gens l'ont consulté

How to Initialize Private Static Data Members in C   Without Static Constructors?

Initialisation de membres de données statiques privées : alternative aux constructeurs statiques

Il est courant de rencontrer un besoin de membres de données statiques privées dans une classe , similaire au concept Java ou C# des constructeurs statiques. Cependant, C ne fournit pas de mécanisme explicite pour les constructeurs statiques.

Pour résoudre ce problème, C propose une approche alternative. Au lieu de déclarer des données membres statiques dans la classe, créez une classe ordinaire distincte pour contenir les données statiques. Déclarez une instance statique de cette classe ordinaire au sein de la classe souhaitée.

Par exemple :

class StaticStuff
{
    std::vector<char> letters_;

public:
    StaticStuff()
    {
        for (char c = 'a'; c <= 'z'; c++)
            letters_.push_back(c);
    }

    // Provide a method to access letters_
};

class Elsewhere
{
    static StaticStuff staticStuff; // Static instance runs once
};
Copier après la connexion

En utilisant cette technique, les données statiques sont initialisées une fois lors de l'exécution du programme et sont accessibles tout au long de la durée de vie du programme. Cette approche constitue une alternative viable aux constructeurs statiques en C .

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