初始化一个成员变量,这样做法对吗?std::atomic_bool ready_(false);
时间: 2024-02-24 20:00:38 浏览: 160
在类的定义中,如果你需要初始化一个成员变量,可以使用成员初始化列表来完成,如下所示:
```
class MyClass {
public:
MyClass() : ready_(false) {}
private:
std::atomic_bool ready_;
};
```
在构造函数中使用赋值操作来初始化成员变量是合法的,但是,如果成员变量是一个类类型,且没有默认构造函数或者默认构造函数不可访问,这种做法可能会导致编译错误。此外,如果成员变量是一个常量或者引用类型,也不能使用赋值操作来初始化。因此,成员初始化列表是更加通用和安全的初始化方式。
相关问题
初始化std::atomic_bool ready_(false);
这段代码定义了一个名为ready_的std::atomic_bool类型的变量,并将其初始化为false。std::atomic_bool是一个原子的布尔类型,可以确保多个线程同时访问该变量时的线程安全性。在这个例子中,ready_被用来表示某个操作是否已经准备就绪,初始值为false表示操作尚未就绪。
阅读全文