c++ - 初始化类成员的最佳方法?

标签 c++ c++11

使用c++11标准,我可以用两种方式初始化类成员:

class MyClass
{
private: 
    int a = 5;
};

class MyClass
{
private: 
    int a;
public:
    MyClass()
    {
        a = 5;
    }
};

任何一种方法是否出于任何原因优于另一种方法,或者它更像是一种个人风格选择?

最佳答案

第二个例子不是初始化。

因此,在这两个示例中,第一个是初始化类成员的最佳方式。

传统的初始化方式是这样的:

class MyClass
{
private: 
    int a;
public:
    MyClass()
      : a(5)
    {}
};

尽管从 C++11 开始,我们现在拥有第一个示例中的内联初始化器。

关于c++ - 初始化类成员的最佳方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31527734/

相关文章:

c++ - 角拼接数据结构,任何开源实现?

C++给定一个字符串列表,如何从一个类中获取相应的变量地址

c++ - unique_ptr<>() 初始化会失败吗?

c++ - 为什么这个简单的 lambda 在 std::thread 中始终比在 gcc 4.9.2 的 main 函数中运行得更快?

c++ - 我如何将 Javascript 正则表达式转换为 C++11 正则表达式

C++ 处理无效参数

c++ - 从 ' ' 类型的右值初始化 ' ' 类型的非常量引用无效

c++ - 删除 std::list 的内容

c++ - C++11 lambda 表达式末尾的括号

c++ - 为什么 WriteFile 不会运行多次?