如何将三个函数转换为一个泛型函数?

Mostafa Sataki

在下面的示例中,我有三个getColors函数。

问题:如何将Threee getcolors函数转换为一个泛型函数?

struct EcvColorMap{
    vector<Scalar> getColors(){
        vector<Scalar> result;
        //....
        return result;
    }
};
struct Scalar{
   int val[3];
};

    vector<Scalar> getColors(vector<Scalar> colors){
        return colors;
    }
    vector<Scalar> getColors(Scalar color){
        return{ color };
    }
    vector<Scalar> getColors(EcvColorMap color_map){
        return color_map.getColors();
    }
马可·A

问题是:函数的主体是不同的,如果您尝试制作一个泛型的函数,而让其他函数部分地专门化而完全地专门化,例如

template<typename T> vector<Scalar> getColors(T colors) {
    return {colors};
}

//template<typename T> vector<Scalar> getColors(vector<T> colors) { // Not really necessary - see list initialization
//  return colors;
//}

template<> vector<Scalar> getColors<EcvColorMap>(EcvColorMap colors) {
    return colors.getColors();
}

您仍然将不得不为三个不同的模板编写代码,而根本没有收获(编译时优势或代码重用在哪里?)。

我的个人建议:不要仅仅因为模板很酷就使用模板,请在实际需要时使用它们在大型软件视图中,这至关重要。您发布的设计对我来说很有意义。

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何将三个函数转换为一个泛型函数?

来自分类Dev

如何将泛型函数作为参数传递给另一个函数?

来自分类Dev

如何有效地将一个KDB函数的输出转换为三个表列?

来自分类Dev

如何键入一个泛型函数?

来自分类Dev

如何制作一个适应模型的泛型函数?

来自分类Dev

如何将原型函数名称传递给另一个原型函数

来自分类Dev

如何将原型函数名称传递给另一个原型函数

来自分类Dev

如何在scala中实现一个泛型函数,该泛型函数可以添加和求和参数?

来自分类Dev

如何将这三个值一起转换为年龄?

来自分类Dev

Swift泛型函数调用另一个泛型函数

来自分类Dev

迅速,在另一个泛型函数中调用泛型函数

来自分类Dev

显式特化一个泛型函数是 swift

来自分类Dev

有没有一种方法可以从这两个函数中的任何一个创建泛型函数?(将通用数组转换为字符串)

来自分类Dev

如何编写一个带有默认参数的 lambda 的泛型函数?

来自分类Dev

Scala:将多个函数转换为单个泛型函数?

来自分类Dev

将三个触发器转换为一个

来自分类Dev

将三个int参数转换为一个日期

来自分类Dev

如何通过通用引用或std :: forward将这三个c ++模板函数合并为一个?

来自分类Dev

是否有R函数根据三个变量的分组将行转换为向量?

来自分类Dev

泛型函数:将T []转换为Complex []

来自分类Dev

将泛型函数转换为 Kotlin 失败

来自分类Dev

如何创建一个在三个向量中打印相同值数量的函数?

来自分类Dev

C#泛型函数-另一个泛型的扩展

来自分类Dev

如何将三个Excel文件行合并为一个?

来自分类Dev

如何将三个集合中的数据文档合并为一个集合

来自分类Dev

如何将两个javascript函数与具有条件的第三个函数合并?

来自分类Dev

我应该如何将三个参数传递给 express/node 箭头函数?

来自分类Dev

如何将三个div标签一个接一个地放置?

来自分类Dev

传递一个带有 Lamba 表达式的函数来创建一个泛型函数

Related 相关文章

  1. 1

    如何将三个函数转换为一个泛型函数?

  2. 2

    如何将泛型函数作为参数传递给另一个函数?

  3. 3

    如何有效地将一个KDB函数的输出转换为三个表列?

  4. 4

    如何键入一个泛型函数?

  5. 5

    如何制作一个适应模型的泛型函数?

  6. 6

    如何将原型函数名称传递给另一个原型函数

  7. 7

    如何将原型函数名称传递给另一个原型函数

  8. 8

    如何在scala中实现一个泛型函数,该泛型函数可以添加和求和参数?

  9. 9

    如何将这三个值一起转换为年龄?

  10. 10

    Swift泛型函数调用另一个泛型函数

  11. 11

    迅速,在另一个泛型函数中调用泛型函数

  12. 12

    显式特化一个泛型函数是 swift

  13. 13

    有没有一种方法可以从这两个函数中的任何一个创建泛型函数?(将通用数组转换为字符串)

  14. 14

    如何编写一个带有默认参数的 lambda 的泛型函数?

  15. 15

    Scala:将多个函数转换为单个泛型函数?

  16. 16

    将三个触发器转换为一个

  17. 17

    将三个int参数转换为一个日期

  18. 18

    如何通过通用引用或std :: forward将这三个c ++模板函数合并为一个?

  19. 19

    是否有R函数根据三个变量的分组将行转换为向量?

  20. 20

    泛型函数:将T []转换为Complex []

  21. 21

    将泛型函数转换为 Kotlin 失败

  22. 22

    如何创建一个在三个向量中打印相同值数量的函数?

  23. 23

    C#泛型函数-另一个泛型的扩展

  24. 24

    如何将三个Excel文件行合并为一个?

  25. 25

    如何将三个集合中的数据文档合并为一个集合

  26. 26

    如何将两个javascript函数与具有条件的第三个函数合并?

  27. 27

    我应该如何将三个参数传递给 express/node 箭头函数?

  28. 28

    如何将三个div标签一个接一个地放置?

  29. 29

    传递一个带有 Lamba 表达式的函数来创建一个泛型函数

热门标签

归档