亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

C++單例類怎樣實現懶加載

c++
小樊
85
2024-07-25 17:18:14
欄目: 編程語言

在C++中實現懶加載的單例類可以使用靜態成員變量和靜態成員函數來實現。以下是一個示例代碼:

class Singleton {
private:
    static Singleton* instance; // 靜態成員變量

    Singleton() { } // 防止外部實例化
public:
    static Singleton* getInstance() { // 靜態成員函數返回單例實例
        if (instance == nullptr) {
            instance = new Singleton();
        }
        return instance;
    }
};

Singleton* Singleton::instance = nullptr; // 初始化靜態成員變量

int main() {
    Singleton* singleton1 = Singleton::getInstance();
    Singleton* singleton2 = Singleton::getInstance();

    if (singleton1 == singleton2) {
        std::cout << "singleton1 and singleton2 are the same instance" << std::endl;
    } else {
        std::cout << "singleton1 and singleton2 are different instances" << std::endl;
    }

    return 0;
}

在上面的示例中,Singleton類有一個私有的靜態成員變量instance用來存儲單例實例。靜態成員函數getInstance用來返回單例實例,當實例為nullptr時進行懶加載,即在第一次調用getInstance時創建實例。在main函數中,我們通過調用getInstance函數獲取單例實例,并驗證兩個實例是否相同。

這樣就實現了在C++中使用懶加載方式創建單例類的方法。

0
崇仁县| 德惠市| 万年县| 新竹县| 娱乐| 久治县| 金沙县| 张家川| 马公市| 成武县| 左贡县| 河北区| 磴口县| 西丰县| 阳谷县| 蓬溪县| 右玉县| 霍林郭勒市| 西华县| 隆回县| 仙游县| 海城市| 罗城| 香格里拉县| 阳高县| 鄂托克旗| 扬中市| 区。| 东兰县| 通化市| 宁陕县| 武宁县| 西城区| 南靖县| 临高县| 临清市| 瓮安县| 康保县| 二连浩特市| 观塘区| 清徐县|