中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

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
十堰市| 门头沟区| 文化| 鸡泽县| 永仁县| 仪陇县| 兴城市| 江川县| 资溪县| 仲巴县| 柘城县| 辽阳市| 浠水县| 滦平县| 东港市| 上杭县| 玉山县| 文昌市| 西充县| 遵义县| 屏山县| 井研县| 水富县| 石首市| 金寨县| 霍林郭勒市| 博兴县| 安福县| 烟台市| 曲沃县| 苗栗市| 乐昌市| 灵丘县| 渭南市| 郎溪县| 仁布县| 陈巴尔虎旗| 太仆寺旗| 泸定县| 休宁县| 久治县|