腾讯云
开发者社区
文档
建议反馈
控制台
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
登录/注册
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(9999+)
视频
沙龙
1
回答
我打算
调用
initializer_list
构造
函数
,如果存在复制
构造
函数
,就提前
调用
它:为什么?
、
、
、
、
下面的类型有三个
构造
函数
。请注意,其中之一接受相同类型元素的初始化程序列表。<Foo>) { }在使用
initializer_list
初始化对象时,我惊讶地看到复制
构造
函数
被自动
调用
的次数与
initializer_list
中的元素一样多。然后,
调
浏览 0
提问于2017-08-19
得票数 1
回答已采纳
2
回答
用大括号代替parantheses
调用
构造
函数
、
、
、
、
我最近意识到,在C++11中,我们可以
调用
一个委托初始化-list
构造
函数
,如这个语法正确吗似乎是这样的,虽然我希望在
调用
函数
时总是使用括号,比如Foo({42})。,比如使用{ }声明对象,但不知道我们也可以
调用
构造
函数
。但是,我们不能
调用
函数
,下面的 #
浏览 4
提问于2015-04-21
得票数 1
回答已采纳
2
回答
这个语义
调用
哪个
构造
函数
?
、
这是字符串的
构造
:string类具有以下
构造
函数
,我认为它可能被绑定到:string (const char* s);string (
initializer_list
<char> il); 一开始我以为它会
调用
initializer_list
,因为参数是带括号的。然后我意识到{""}可
浏览 5
提问于2013-08-02
得票数 4
回答已采纳
1
回答
为什么要将字符串初始化为单个字符的代码
调用
initializer_list
构造
函数
?
、
、
、
、
最近,我正在处理一个C++项目,遇到了一个带有字符串
构造
函数
的边缘情况,我
无法
完全理解这些
构造
函数
。我不明白为什么字符串的大括号初始化版本
调用
的是
initializer_list
构造
函数
,而不是接受大小和字符的
构造
函数
。
initializer_list
构造
函数
具有以下签名: basic_string(std::
initializer_li
浏览 3
提问于2017-08-28
得票数 6
回答已采纳
2
回答
无法
使用统一初始化复制std::vector<std::function<void ()>>。这是正确的吗?
、
、
{ std::vector<std::function<void()>> b{a};问题是编译器将尝试使用
initializer_list
创建b,而实际上它应该只
调用
复制
构造
函数
。然而,这似乎是理想的行为,因为标准规定
initializer_list
构造
器应该优先。这段代码可以很好地用于其他std::vector,但是对于std::
函数</
浏览 3
提问于2012-12-30
得票数 11
回答已采纳
2
回答
std::
initializer_list
构造
函数
、
、
、
在这样的代码中:#include <
initializer_list
>{ A(int a) { std::cout << "0" << std::endl; } A(std::
initializer_list
<1" <<
浏览 2
提问于2018-01-29
得票数 14
回答已采纳
1
回答
std::
initializer_list
构造
函数
和“带括号的初始化”问题
、
、
、
、
考虑以下代码:public: C(int) {} D(std::
initializer_list
<C> il) {} {我以为D d5{{}};会用空列表
调用
D的
initializer_l
浏览 0
提问于2019-01-06
得票数 3
回答已采纳
2
回答
空初始化程序列表作为参数不
调用
默认
构造
函数
、
、
() {} // default constructor}; A obj({});
调用
第二个
构造
函数
空
initializer_list
可能被视为一个参数,并被转换为int。但是,当您从类中移除第二个
构造
函数
时,它会
调用
默认
构造
函数
。为什么?此外,我理解为什么A obj { {}
浏览 2
提问于2018-03-18
得票数 6
回答已采纳
1
回答
有任何方法可以从未知数量的参数构建std::
initializer_list
吗?
我们有一个
函数
,它类似于我想要做的是获取一个运行时JSON数组,并使用它
调用
这个
函数
。: [ x : 10, }, x : 30, },] 然后,我想用foo({10,20,30,40})
调用
问题是,JSON数组可以是任意长度,所以id必须在循环中
构造
列表(即向量),然后在
构
浏览 3
提问于2022-08-30
得票数 1
回答已采纳
1
回答
无法
调用
initializer_list
构造
函数
是一个结构体: namespace rtosc { { else } } 将
构造
函数
实现为: Ports::Ports(std::
initializer_list</e
浏览 53
提问于2020-10-30
得票数 0
回答已采纳
1
回答
如何从嵌套std::
initializer_list
初始化2D C样式数组?
、
、
、
、
我正在创建一个Matrix<type, width, height>类,例如,我希望能够使用
initializer_list
初始化这个类:Matrix(std::
initializer_list
< std::
initializer_list
<T>> input); s
浏览 5
提问于2019-09-18
得票数 1
回答已采纳
2
回答
std::
initializer_list
不能从<括号封装的初始化器list>中推导出来
、
我有一个类,其
构造
函数
接受一个
initializer_list
如果我试图使用带大括号的初始化程序列表(直接)创建一个对象,则正确地推导出
initializer_list
:但是,当试图间接执行相同的时(使用可变
函数
浏览 5
提问于2016-02-05
得票数 6
回答已采纳
2
回答
为什么C++列表初始化也要考虑常规
构造
函数
?
、
、
在C++中,当使用
initializer_list
语法初始化对象时,对象的常规
构造
函数
也参与重载解析,而不应用其他列表初始化规则。据我所知,以下代码
调用
X::X(int) X bar{3};但我不明白,为什么常规
构造
函数
也会在我觉得现在很多程序员写X{3}来
调用
构造
函数
,而不是X(3)来
调用
构
浏览 9
提问于2017-12-28
得票数 7
回答已采纳
2
回答
initializer_list
的实现如何改变编译器读取的方式?
、
<int>的
构造
函数
,并且由于有一个
构造
函数
,它将使用{ 1,2,3 }
构造
一个
initializer_list
<int>对象。如果没有接受
initializer_list
<int>的
构造
函数
,编译器将生成与X a(1,2,3)相同的代码。”
函数
的
调用
方式。更重要的是,我是否可以定义一种类型(例如,我自己的
initializer_list
),以便
浏览 10
提问于2022-05-24
得票数 1
3
回答
为什么std::
initializer_list
构造
函数
在使用大括号初始化程序列表时是首选的?
、
、
、
、
考虑一下代码{public: std::cout << "
initializer_list
ctor" << std::endl; /* explicit */ Foo(int valFoo foo {10}; 输出是
initializer
浏览 7
提问于2014-11-26
得票数 35
回答已采纳
2
回答
为什么采用std::
initializer_list
的
构造
函数
不喜欢双大括号语法?
、
、
、
,通过要求{{}}
调用
接受std::
initializer_list
的
构造
函数
可以避免选择向量
构造
函数
的整个问题。假设程序员期望f(X)被
调用
。f(Y)“劫持”电话是怎么回事? 您不仅要检查要
调用
的
构造
函数
,而且还要检查任何使用
initializer_list
的
构造
<em
浏览 6
提问于2014-03-19
得票数 13
回答已采纳
2
回答
在以后添加
initializer_list
构造
函数
时,使用大括号语法会改变
构造
行为吗?
、
假设我有一个这样的类:{ Foo(int something) {}我使用以下语法创建它:然后,我添加了一个新的
构造
函数
:class Foopublic: Foo(std::
initializer_list
<int>) {}f的结构发生了什么变化?我的理解是,它不再
调用
第一个
构造
函数
,而是
调用
init列表<e
浏览 2
提问于2014-09-18
得票数 13
回答已采纳
2
回答
使用双大括号的向量初始化: std::string vs int
、
、
、
对这个问题的回答是:vector<string> v = {{"a", "b"}};std::vector<int> v = {{2, 3}}; 将使用std::vector的
浏览 5
提问于2017-10-10
得票数 6
回答已采纳
1
回答
在不
调用
initializer_list
构造
函数
的情况下将不可复制、不可移动的类型
构造
成
函数
参数
、
、
#include <
initializer_list
>public: C(C &&) = delete; std::cout << "int\n"; C(std::
initializer_list
<{ // Compiles and p
浏览 2
提问于2014-03-24
得票数 8
回答已采纳
1
回答
如何参数化
构造
函数
的参数数?
、
、
、
我希望在模板类
构造
函数
中接受最多多个参数(这个数字在模板参数中定义)。据我所知,我不能使用
initializer_list
,因为我
无法
在编译时断言它的大小。.*/}但是,这迫使我像这样初始化(即使
构造
函数
不是explicit):我认为可能有一些模板的魔力(各种模板?),但我甚至
无法
找到在
构造
函数
中使用的正确语法
浏览 3
提问于2015-06-18
得票数 11
回答已采纳
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
Python基础教程 调用未关联的超类构造函数
Mozilla Rhino 反序列化漏洞 POC 分析
C+11并发编程:多线程std:thread
C+11 move()函数:将左值强制转换为右值
python中调用父类同名方法
热门
标签
更多标签
云服务器
ICP备案
实时音视频
即时通信 IM
对象存储
活动推荐
运营活动
广告
关闭
领券