Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk Memulakan Ahli Data Statik Peribadi dalam C Tanpa Pembina Statik?

Bagaimana untuk Memulakan Ahli Data Statik Peribadi dalam C Tanpa Pembina Statik?

Patricia Arquette
Patricia Arquetteasal
2024-11-10 18:06:02461semak imbas

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

Pemulaan Ahli Data Statik Peribadi: Alternatif kepada Pembina Statik

Adalah perkara biasa untuk menghadapi keperluan untuk ahli data statik peribadi dalam kelas , serupa dengan konsep Java atau C# bagi pembina statik. Walau bagaimanapun, C tidak menyediakan mekanisme eksplisit untuk pembina statik.

Untuk menangani isu ini, C menawarkan pendekatan alternatif. Daripada mengisytiharkan ahli data statik dalam kelas, buat kelas biasa yang berasingan untuk menyimpan data statik. Isytiharkan contoh statik kelas biasa ini dalam kelas yang dikehendaki.

Contohnya:

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
};

Dengan menggunakan teknik ini, data statik dimulakan sekali semasa pelaksanaan program dan boleh diakses sepanjang hayat program ini. Pendekatan ini berfungsi sebagai alternatif yang berdaya maju kepada pembina statik dalam C .

Atas ialah kandungan terperinci Bagaimana untuk Memulakan Ahli Data Statik Peribadi dalam C Tanpa Pembina Statik?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn