Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ std::构造函数中的初始值设定项\u列表转换_C++_C++11_Initializer List - Fatal编程技术网

C++ std::构造函数中的初始值设定项\u列表转换

C++ std::构造函数中的初始值设定项\u列表转换,c++,c++11,initializer-list,C++,C++11,Initializer List,我是C++11新手,我想知道这段代码在内部是如何工作的: class MyClass { public: MyClass(int a, double b) { cout << "ctor()" << endl; } }; int main() { MyClass i1{4, 7}; return 0; } class-MyClass { 公众: MyClass(整数a,双b){ cout我

我是C++11新手,我想知道这段代码在内部是如何工作的:

class MyClass
{
    public:
        MyClass(int a, double b) {
            cout << "ctor()" << endl;
        }
};

int main()
{
    MyClass i1{4, 7};
    return 0;
}
class-MyClass
{
公众:
MyClass(整数a,双b){

cout我想这就是它发生的方式。摘自:

如果前一阶段未生成匹配项,则T的所有构造函数都会参与针对由大括号init列表元素组成的参数集的重载解析,但限制条件是只允许非收缩转换。如果此阶段生成显式构造函数作为副本列表initia的最佳匹配项编译失败(注意,在简单副本初始化中,根本不考虑显式构造函数)


语法
{..}
可以构造一个
std::initializer\u list
…或者它可以做其他事情。@immibis我能读到关于这方面的参考资料吗?也许可以参考“有效的现代C++”的第6项@hovo你可以找到关于initializer的详细信息。