腾讯云
开发者社区
文档
建议反馈
控制台
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
登录/注册
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(7706)
视频
沙龙
1
回答
使用
右值initializer_list
的
类型推断
c++
、
c++11
); // OK f({0}); // failure} 右值initializer_list可以用auto
推导
,但不能用template
推导
。
浏览 2
提问于2013-07-06
得票数 11
回答已采纳
1
回答
为什么
带
括号
的
初始化
列表
不是表达式?
expression
、
return-type
、
list-initialization
当我阅读C++11标准
的
page93 $5.1.2
时
,它说在这种情况下
使用
带
括号
的
初始化
列表
是非法
的
: auto x=[]{x= {1,2}};//错误:
带
括号
的
初始化
列表
不是表达式 我找到了这两个主题Page397 $14.8.2.5:
初始值
设定
项
列表
参数
导致该
参
浏览 2
提问于2013-08-02
得票数 2
3
回答
使用
带
括号
的
初始值
设定
项
列表
时
,
模板
参数
推导
失败
c++
、
templates
、
c++17
、
ctad
我正在尝试在“perpendicular()”函数中
使用
模板
参数
推导
: #include <iostream> struct)'; std::cout << perpendicular({3.1, 1.2}) << '\n';} 然而,这不能编译;Clang (
使用
浏览 30
提问于2019-09-26
得票数 3
回答已采纳
1
回答
使用
可变
模板
的
统一初始化
c++
、
c++11
、
variadic-templates
、
uniform-initialization
我有一个POD ChParam,它是可变
模板
函数set中
的
一个
参数
。我想在花
括号
p.set({ Param::D, 1000.f }, { Param::p, 2000.f })中传递函数
参数
(构造函数
参数
)。并认为构造函数将被隐式调用,ChParam对象将被创建。但是这是不可能
的
,我应该显式地创建一个对象a.set(ChParam{ Param::D, 1000.f }, ChParam{ Param::p, 2000.f }); 有没有可能以某种方式
使用</
浏览 5
提问于2016-09-22
得票数 5
回答已采纳
1
回答
使用
不同
的
new表达式语法创建对象有什么不同
c++
、
c++11
、
constructor
、
new-operator
下面是c++中三种不同
的
初始化方式,如果我们没有任何
参数
,您能解释一下这三种方式是否有区别吗当其他方法
失败
时
,它们到底是如何以及在哪里单独适合
的
浏览 2
提问于2016-05-03
得票数 0
2
回答
返回并自动扣减std::initializer_list
c++
、
c++11
}(); //explicit为什么不能返回并自动推断std::initializer_list
的
类型
浏览 1
提问于2013-06-30
得票数 9
回答已采纳
1
回答
在
模板
化类中构造对象需要异常初始化
c++
、
c++11
、
templates
、
constructor
、
c++14
我有一些结构如下
的
代码: class External { External<int> e(Type::a); Derived<int> der; }<source>:49:25: error: 'Type::a
浏览 3
提问于2021-02-21
得票数 2
3
回答
使用
初始化器
列表
的
C++变量
参数
c++
、
initializer-list
假设下面的代码是一个很小
的
sprintf替代品。( _itoa和类似的代码只是用来保持代码简短。):string test2 = Format("test Double:% String:%", {5, 456.78}, "foo").str(); } 你看,我想传递
参数
,限制为"Arg“类型,但是为了更好
的
可读性,我
使用
了一个构造函数,比如
使用
可变
模板
而不是initializer_list<>。
浏览 13
提问于2020-04-29
得票数 2
回答已采纳
1
回答
传递
初始值
设定
项
列表
时
,变量
模板
参数
推导
失败
c++
、
gcc
、
c++11
、
variadic-templates
、
initializer-list
FooValueAdaptor隐式地将int转换为bool to FooValue,这在这个人为设计
的
示例中意义不大,但在我
的
应用程序中却非常有意义。我实现了一个方便
的
函数Bar::addEntries,可以一次添加多个条目,但是用两个以上
的
参数
调用它无法
使用
GCC 4.8.0进行编译。请参阅下面的错误消息。Args... args) {test.cpp:57:7: note: candidate expects 2 arguments, 6 provided 我
浏览 0
提问于2013-04-01
得票数 4
回答已采纳
3
回答
std::initializer_list、
带
括号
的
初始化和标头
c++
、
templates
、
initializer-list
在阅读一个不同
的
主题
时
,我遇到了一个奇怪
的
行为,至少对我来说是这样。整个思想源于auto和花
括号
之间
的
特殊交互。奇怪
的
是,类似的规则不仅适用于auto,可能有特殊
的
原因,也适用于其他事情。此外,为了让一切都有意义,std::initializer_list对于标准对象
的
作用方式应该与lambda对于可调用对象
的
作用方式大致相同(严格来说,就是具有operator()
的
对象)。换句话说,未命名
的
大<e
浏览 2
提问于2018-10-22
得票数 14
1
回答
具有统一初始化
的
自动扩展为意外类型
c++
、
c++11
、
standards
、
auto
、
uniform-initialization
考虑一下用GCC 4.7.2 g++ -std=c++11 test.cc编译
的
这个小程序#include <queue> typetype> >’ to ‘std::queue<std::shared_ptr<type> >::value_type&& {aka std::shared_ptr<type>&&}’ 指示自动类型扩展为
初始值
设定
项
<em
浏览 4
提问于2013-07-09
得票数 4
回答已采纳
1
回答
使用
自动
模板
类型
推导
列出函数
模板
参数
的
初始化
c++
、
templates
、
c++20
、
template-argument-deduction
、
list-initialization
下面是用来说明问题
的
设置。T> // do something with the passed arguments因此,可以
使用
以下语法。,{"c",3u}); 从理论上讲,有足够
的
信息来确定在第二种情况下要做什么,因为function只接受opt<T>类型
的
参数
,并且可以
使用
定义
的
推导
指南
浏览 3
提问于2021-10-03
得票数 0
2
回答
为什么std::array<std::pair<int,int>,3>不能
使用
嵌套
的
初始化器
列表
进行初始化,而std::vector<std::pair<int,int>>可以?
c++
、
stdarray
、
aggregate-initialization
请参阅此示例:https://godbolt.org/z/5PqYWP 为什么这个成对数组不能像成对向量一样初始化? #include <vector>{ std::array <std::pair<int,int>, 3> a{{1,2},{3,4},{5,6}}; // fails to compile
浏览 81
提问于2020-12-08
得票数 21
回答已采纳
3
回答
为什么自动和
模板
类型演绎不同
的
大
括号
初始化?
c++
、
c++11
、
templates
、
template-argument-deduction
、
list-initialization
我理解,给定一个
带
括号
的
初始化器,auto将推断出一种std::initializer_list类型,而
模板
类型
的
演绎将
失败
: 如果程序有一个函数
参数
,而相关
的
参数
是一个初始化程序
列表
(8.5.4),但是该
参数
没有std::initiali
浏览 1
提问于2013-07-10
得票数 19
2
回答
这个C++函数如何返回两个值?
c++
、
constructor
、
return
、
initializer-list
、
stdinitializerlist
请解释此函数如何返回两个值。它接受一个数组,并从数组中返回两个数字,其和等于目标和。public: int a = 0; for (int i=0; i<nums.size()-1; i++) for (int j=i+1; j<nums.size(); j++) if (nums[i] + nu
浏览 8
提问于2021-02-08
得票数 3
1
回答
实验性
的
make_array,我可以
使用
花
括号
初始化
列表
作为
参数
吗?
c++
、
arrays
、
variadic-templates
、
c++17
我尝试实现了一个不完全相同但非常类似的make_array版本: 这里
的
问题似乎是,即使make_array显式地指定了第一个
模板
参数
,
参数
仍然来自
参数
包,这与显式指定
的
参数
无关。我
的</
浏览 14
提问于2016-08-19
得票数 1
回答已采纳
1
回答
为什么我必须为std::array分配一个大小,而普通数组不一定是这样
的
?
c++
、
arrays
、
c++11
、
stdarray
std::array<int, 3> foo = {1,2,3}; int bar[] = {1,2,3}; // the size is 3 对于普通数组,我不需要指定大小。但我必须为std::array指定大小。为什么?
浏览 9
提问于2020-12-09
得票数 0
回答已采纳
2
回答
自动演绎和
模板
类型演绎有什么区别?
c++
、
templates
、
auto
can't deduce type for T 幕后
的
auto类型是什么?
浏览 2
提问于2019-02-01
得票数 6
回答已采纳
1
回答
c++将初始化
列表
作为lambda
参数
visual-c++
、
c++17
MSVC CL版本19.14.26433.0auto string_tester = []( auto std_string ) { }; 感谢所有人
的
回答。显然,在发送init list
时
不能推断lambda候选
模板
参数
。 我很好奇。是“这可能会被移除”还是“这将会被移除”,与C++20通用lambda和这个小nag
的
情况?
浏览 0
提问于2018-07-25
得票数 1
2
回答
为什么该
模板
参数
推断
失败
?
c++
、
templates
、
lambda
、
c++11
、
type-inference
我正在尝试理解为什么这个代码片段
失败
了: struct Handler<< obj->isCompleted() << endl; l1->call();g++ 4.5
失败
,并显示以下错误:test.cpp:26:7: error: request for memb
浏览 1
提问于2012-05-22
得票数 1
回答已采纳
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
C+decltype类型推导完全攻略
请问C+11有哪些新特性?
C+auto和decltype的区别
Python和Scala里的控制流程
Python基础教程 创建生成器
热门
标签
更多标签
活动推荐
运营活动
广告
关闭
领券