如何有效地实现将矢量数据分配给多个变量?

用户名

例如

void assign(vector<int> const& v, int a, float b)
{
    a = v[0];
    b = (float)v[1];
}

在此,值类型不必相同。我想做一个函数来分配可变数量的变量。我可以使用可变参数功能。但是我认为使用参数包可能更有效。如何执行呢?谢谢!

黑猫

折叠表情以营救!

template <typename ...P> void assign(const std::vector<int> &v, P &... params)
{
    std::size_t index = 0;
    (void(params = static_cast<P>(v[index++])) , ...);
}

如果必须使用C ++ 11,则可以使用虚拟数组技巧:

template <typename ...P> void assign(const std::vector<int> &v, P &... params)
{
    std::size_t index = 0;
    using dummy = int[];
    (void)dummy{0, (void(params = static_cast<P>(v[index++])), 0) ...};
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

根据索引向量有效地将值分配给特定的数据表行号

如何在C ++中有效地将数字值重新分配给字符数组

有效地将列标题分配给csv文件

有效地将点分配给多边形

如何有效地拆分1个数据框列以创建一个新的数据框,该数据框将相同的值分配给类别列的每个部分

有效地找到将较小的垃圾箱分配给较大的垃圾箱的每种组合

如何在OpenGL ES for Android中有效地将一个纹理分配给另一个纹理

R:有效地合并1000多个变量

如何有效地实现这些JavaScript函数

如何有效地实现这种效果?

如何有效地进行数据整理以实现excel流程的自动化?

如何有效地为多个变量调用方法?

如何有效地按组汇总(具有多个输出)数据集中的列?

如何有效地更新Keras变量片?

如何有效地检查for循环中的变量

如何有效地进行多个“不是”过滤

如何有效地替换XML的多个节点?

如何有效地将订单变量添加到大数据框

如何基于条件有效地连接多个熊猫数据框列?

如何更有效地计算数据帧的多个子集的斜率?

如何使用MySQL有效地在多个客户端之间同步数据?

如何有效地重新索引csv数据?

如何有效地合并 PySpark 数据帧?

如何有效地创建数据透视表?

如何有效地组合熊猫数据框

Angular:如何有效地检索数据

如何有效地编辑大量数据

如何有效地聚合 tex 数据 - python

为什么记录到控制台的数据值有效,但分配给变量时无效?