小编sam*_*ami的帖子

变种模板

我已经看到很多链接介绍了可变参数模板.但我从未见过任何可用于演示此方法的可编译示例.

有人可以给我提供一些可以找到这些可编辑的例子的链接吗?

c++ templates variadic-templates c++11

21
推荐指数
5
解决办法
1万
查看次数

从variadic模板中读取参数

我对如何通过使用可变参数模板从元组中读取每个参数感到有点困惑.

考虑这个功能:

template<class...A> int func(A...args){
int size = sizeof...(A);
.... }
Run Code Online (Sandbox Code Playgroud)

我从主文件中调用它,如:

func(1,10,100,1000);
Run Code Online (Sandbox Code Playgroud)

现在,我不知道如何扩展主体func以便能够单独读取每个参数,以便我可以,例如,将参数存储在数组中.

c++ c++11

8
推荐指数
1
解决办法
9689
查看次数

需要某种运算符.. c ++

我想在队列中存储一串字符串.如果我使用成员函数,这似乎很简单push()

queue test;
string s0("s0"), s1("s1");

test.push(s0);
test.push(s1);
Run Code Online (Sandbox Code Playgroud)

我正在考虑以隐式方式在队列中添加字符串.这意味着,如果我键入以下字符串序列,则operator >>应该将队列中的字符串值推送出来.

queue test;
string s0("s0"), s1("s1");

s0 >> s1 >> s2 >> s3 ;
Run Code Online (Sandbox Code Playgroud)

有没有办法做到这一点?

c++

4
推荐指数
1
解决办法
270
查看次数

具有可变参数的函数

如果我想使用该功能,我可以有哪些缺点

foo(int num, ...)
Run Code Online (Sandbox Code Playgroud)

实现可变数量的参数?

我知道你只能使用一种数据类型的第一个缺点.

还有其他办法吗?

c++

3
推荐指数
1
解决办法
2366
查看次数

通过使用省略号表示法来确保类型安全

在其他主题中已经多次讨论过不建议使用可变参数函数,因为编译器无法检查提供的参数的类型.

但是,如果用户确切知道类型可以是例如std :: string,那该怎么办?这里还有什么问题吗?

问候

c++

2
推荐指数
1
解决办法
2161
查看次数

标签 统计

c++ ×5

c++11 ×2

templates ×1

variadic-templates ×1