【发布时间】:2013-07-31 15:12:13
【问题描述】:
关于如何使用元组的元素调用可变参数函数有很多问题。 例如: How do I expand a tuple into variadic template function's arguments? 我的问题有点不同:
我有一系列函数:
void f(int arg1);
void f(int arg1, int arg2);
...
我想要一个模板:
template<size_t Arity>
void call(std::vector<int> args) {
???
}
用args[0], args[1]...调用适当的f
【问题讨论】:
-
args的个数有上限吗?
-
@BenjaminLindley 那应该是
Arity,我想。 -
你想用这个完成什么?
-
解决元组问题的相同技巧,也解决向量问题(只需将
std::get<I>(t)...替换为v[I]...) -
@jrok:可以轻松测试。我所知道的是我希望调用的函数的数量。 @Captaion Obvlious:我有 db 绑定,它给了我一系列
bind电话。我(静态地)知道我想调用哪一个,并将所有参数放在vector中。
标签: c++ templates c++11 variadic-templates