C++中mutable关键字的用法示例有哪些

   2024-10-01 5130
核心提示:在C++中,mutable关键字通常用于类的成员函数中,用来指示一个成员变量可以在const成员函数中被修改。下面是几个mutable关键字的

在C++中,mutable关键字通常用于类的成员函数中,用来指示一个成员变量可以在const成员函数中被修改。下面是几个mutable关键字的用法示例:

修改const成员函数中的mutable变量:
class MyClass {public:    void constFunction() const {        mutableVar = 10;    }private:    mutable int mutableVar;};
在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;}
在多线程编程中使用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关键字也可以用于同步访问共享变量。

 
举报打赏
 
更多>同类物流大全
推荐图文
推荐物流大全
点击排行

网站首页  |  关于我们  |  联系方式网站留言    |  赣ICP备2021007278号