构造函数初始化器列表中的a(x)和a {x}有什么区别?

时间:2018-09-03 22:01:37

标签: c++ constructor initialization

您好,程序员们。我发现为类的数据成员指定构造函数初始化列表有两种不同的语法。

// Syntax style 1:
class Base {
  public:
    Base(int x) : a(x) {}
  private:
    int a;
};

// Syntax style 2:
class Base {
  public:
    Base(int x) : a{x} {}
  private:
    int a;
};

a(x)a{x}有什么区别?这是某种语义吗?建议使用哪种语法样式?

0 个答案:

没有答案