c++11 - 复制列表初始化
问题描述
我正在学习 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},则只会调用构造函数,不会调用复制构造函数。有解释吗?我真的很感激。
解决方案
推荐阅读
- java - Android 从 Firebase 获取数据
- html - 在 html 代码中删除或显示非静态文本
- aws-vpn - AWS VPN:如何使用 Powershell 创建和导入自签名证书
- javascript - 如何使用多个 b-form-radio-group 避免它们之间的视觉干扰?
- groovy - DataGrip org.codehaus.groovy.control.MultipleCompilationErrorsException:启动失败:
- python - Selenium Remote Webdriver - 无效的会话 ID
- javascript - 如何通过引用而不是值传递父级的反应道具/状态?
- c# - 如何通过剃刀视图在Controller中获取相同类型的参数化值
- c - Libssh 通道请求执行在 C 中失败
- terraform - 通过 Terraform 将 AWS 托管策略附加到自定义角色