c++ - C++ 元编程来拆分函数参数并将它们一个接一个地传递给另一个函数
问题描述
所以我有一个具有不同参数类型的可变参数函数;我想将每个参数传递给另一个函数,它是一个 C 函数。举个例子; 对于有两个论点的案例;
void function(int *a, double *b) needs to call
{
bindToFunc(0, a);
bindToFunc(1, b);
}
void function(int *a, double *b, float *c) needs to call
{
bindToFunc(0, a);
bindToFunc(1, b);
bindToFunc(2, c);
}
template<typename... T>
void function(T ...)
{
// has to have
//
// bindToFunc(0, T0) ....
// bindToFunc(n-1, Tn-1);
}
我尝试使用,
template <int I, class... Ts>
decltype(auto) get(Ts &&... ts)
{
return std::get<I>(std::forward_as_tuple(ts...));
}
但由于 I 是模板参数,它是一个编译时变量,因此我们不能在 for 循环中使用它。
解决方案
推荐阅读
- powerbi - 如何在条形图视觉上进行级别扩展?
- javascript - Socketio 行为不是唯一的
- javascript - 如何将单击的元素绑定到脚本中的所有其他函数,而不仅仅是被调用的函数?
- python - 重塑熊猫数据框,展平数据
- c++ - 在 CMake 中为 Intel 编译器设置 c++14
- php - Laravel Corcel WooCommerce - 添加产品类别
- php - WooCommerce:向产品库添加额外的图像
- alpine - 如何为无盘高山安装安装新的内核模块?
- c - 无法使用 scanf 读取多行输入
- javascript - 如何在reactjs material-ui中制作一个使用剩余网格空间的网格项目?