91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

C++構造函數如何處理靜態成員

c++
小樊
82
2024-11-09 00:34:27
欄目: 編程語言

在C++中,構造函數用于初始化對象的狀態

以下是一個示例,展示了如何在構造函數中初始化靜態成員:

#include <iostream>

class MyClass {
public:
    // 構造函數
    MyClass() {
        // 初始化靜態成員
        if (s_count == 0) {
            s_data = new int[10];
            for (int i = 0; i < 10; ++i) {
                s_data[i] = i * 2;
            }
        }
        ++s_count;
    }

    // 析構函數
    ~MyClass() {
        if (--s_count == 0) {
            delete[] s_data;
        }
    }

private:
    static int* s_data; // 靜態成員變量
    static int s_count; // 靜態成員變量
};

// 初始化靜態成員變量
int* MyClass::s_data = nullptr;
int MyClass::s_count = 0;

int main() {
    MyClass obj1;
    MyClass obj2;
    MyClass obj3;

    return 0;
}

在這個示例中,我們定義了一個名為MyClass的類,它具有兩個靜態成員變量:s_datas_count。我們在構造函數中檢查s_count是否為0,如果是,則分配一個新的整數數組并將其初始化為特定值。在析構函數中,我們減少s_count的值,并在s_count為0時釋放分配的內存。這樣,我們可以確保靜態成員變量只被初始化一次,并在不再需要時被正確釋放。

0
天水市| 尉氏县| 承德县| 师宗县| 五大连池市| 安丘市| 青州市| 高平市| 基隆市| 武宣县| 淮北市| 右玉县| 广南县| 偃师市| 平凉市| 赣榆县| 巫溪县| 会昌县| 巴塘县| 巍山| 柘荣县| 屏边| 梅河口市| 水富县| 富平县| 山阴县| 卓资县| 胶南市| 东港市| 庆元县| 杭州市| 南京市| 大港区| 轮台县| 仁怀市| 阳东县| 台安县| 澄迈县| 泗洪县| 仪陇县| 温州市|