在 class 声明或构造函数初始化列表中初始化简单成员

Initialize simple members in class declaration or in constructor initializer list

哪个更好 - 在 class 声明或构造函数初始化列表中初始化简单类型成员?

class A {

    // ...

private:
    int m_member = 1;

    // ...

}

A::A() : m_member(1) {

    // ...

}

?

我认为在 class 当前标准中引入了初始化以增强可读性和一致性。

如果没有,您将需要注意每个构造函数中的一致初始化。

这样最好使用您建议的第一种形式:

class A {
   // ...
private:
    int m_member = 1;
    // ...
}