c++ - C++ 中的“复制初始化上下文中的默认初始化”是什么意思?
问题描述
例如,我想我理解直接初始化(与复制)上下文中的列表初始化是什么意思 -int x{}
与int x = {}
基本上。
但是在cppreference上我发现了这个:
当类类型的对象从相同或派生类类型的对象复制初始化,或在复制初始化上下文中默认初始化时,候选函数都是正在初始化的类的转换构造函数。参数列表是初始化器的表达式。
我想我理解为什么候选人会为第一种情况转换构造函数,而不是第二种情况。我的意思是,我不能写类似MyClass x = MyClass
, 并且= MyClass()
会是值初始化,并且= MyClass(args...)
会是直接初始化的东西。
即使存在这样的构造,我也不明白为什么临时MyClass
对象“构造”应该包括所有转换构造函数。
(x
正如我所看到的,这不是这里所说的,因为它绝对是复制构造的,而不是默认构造的。)
所以我想我对这里的术语感到困惑。
解决方案
推荐阅读
- python - 在循环 Pandas 中使用数据框名称
- powershell - 结果大小问题 - 找不到与参数名称“resultsize”匹配的参数
- c# - c#标签文本数据绑定不刷新文本
- responsive-design - 是否可以在 Semantic-UI-React 中创建一个在移动设备上看起来很棒的响应式表格?
- javascript - Rails 选择表单:在提交之前显示和使用选择表单值?
- oracle - 在不同的循环中填充相同的 sys_refcursor
- javascript - 从 http 网页请求本地资源时响应为 401 错误
- netsuite - 如何在 Netsuite 中的高级 pdf 检查模板中获取采购订单项目
- linux - 如何从用户 1 切换到用户 2 并在 linux 中运行一些命令?
- wordpress - WooCommerce 中的产品彼此过于接近