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

溫馨提示×

C++中mutable關鍵字的用法示例有哪些

c++
小樊
84
2024-08-18 05:41:45
欄目: 編程語言

在C++中,mutable關鍵字通常用于類的成員函數中,用來指示一個成員變量可以在const成員函數中被修改。下面是幾個mutable關鍵字的用法示例:

  1. 修改const成員函數中的mutable變量:
class MyClass {
public:
    void constFunction() const {
        mutableVar = 10;
    }

private:
    mutable int mutableVar;
};
  1. 在lambda表達式中使用mutable關鍵字:
int main() {
    int x = 5;
    auto lambda = [x]() mutable {
        x = 10;
        std::cout << x << std::endl;
    };

    lambda();
    std::cout << x << std::endl;

    return 0;
}
  1. 在多線程編程中使用mutable關鍵字來修改共享的變量:
#include <iostream>
#include <mutex>

class Counter {
public:
    void increment() const {
        std::lock_guard<std::mutex> lock(mutex);
        mutableVar++;
    }

    int getValue() const {
        std::lock_guard<std::mutex> lock(mutex);
        return mutableVar;
    }

private:
    mutable int mutableVar;
    mutable std::mutex mutex;
};

int main() {
    Counter counter;

    counter.increment();
    std::cout << counter.getValue() << std::endl;

    return 0;
}

這些示例展示了mutable關鍵字的用法,它允許在const成員函數中修改類的成員變量,或者在lambda表達式中修改捕獲的變量。在多線程編程中,mutable關鍵字也可以用于同步訪問共享變量。

0
北碚区| 乌拉特前旗| 贵溪市| 卢氏县| 崇义县| 英超| 宜章县| 余姚市| 天柱县| 定州市| 西昌市| 米泉市| 建宁县| 建始县| 织金县| 南木林县| 九龙城区| 富裕县| 苏尼特右旗| 禹州市| 驻马店市| 张家界市| 乐平市| 阿拉善左旗| 民权县| 荣昌县| 瑞丽市| 湖北省| 兰西县| 秦安县| 钟祥市| 恭城| 宣恩县| 大同县| 基隆市| 新邵县| 苗栗市| 衡山县| 麻栗坡县| 庐江县| 兰考县|