为什么我们可以使用花括号作为调用构造函数?

时间:2016-10-12 13:55:06

标签: c++ constructor

#include <iostream>

using namespace std;

class Example
{
    int m_x;
    string m_s;

public:
    Example(int x): m_x{x}{}
    Example(int x, string s): m_x{x}, m_s{s}{}

};

int main()
{
    Example o {5, "fjdklfs"};
    Example u = {5, "fjdklfs"};

    return 0;
}

上面的代码编译正常。为什么我们可以构建具有统一初始化的“o”对象和具有初始化列表的“u”对象?我认为构造函数就像函数一样,使用“()”来调用它,不是吗?

0 个答案:

没有答案