首页 > 解决方案 > 复制列表初始化

问题描述

我正在学习 C++,但是有一个关于复制初始化的问题,这让我很困惑。以下是我创建的类。

class Example{
public:
    Example(initializer_list<int> il) {cout<<"constructor"<<endl;}
    Example(const char *) {cout<<"constructor"<<endl;}
    Example(const Example &) {cout<<"copy constructor"<<endl;}
};

如果代码如下所示,将调用构造函数和复制构造函数,例如 ex = "Hello world"。但是,如果代码是 Example ex = {0,1,2,3},则只会调用构造函数,不会调用复制构造函数。有解释吗?我真的很感激。

标签: c++11

解决方案


推荐阅读