将类型分配给变量并将其传递给模板

克林德·金

我有以下代码

template <typename T>
auto CallMe(int param) -> void {
    ...
}

auto Test(int userInput) -> void {
    int paramToUse = SomeFunction(userInput);
    if (userInput == 0) {
        CallMe<__int32>(paramToUse);
    } else if (userInput == 1) {
        CallMe<__int16>(paramToUse);
    } else if (userInput == 2) {
        CallMe<__int8>(paramToUse);
    } else if (userInput == 3) {
    ...
}

我的问题是,由于CallMe()除了template type之外,所有对to的调用都完全相同T,因此在C ++中是否有一种方法可以将类型分配给每个条件分支中的变量,并将其传递到CallMe()一个位置,例如

    typename T;

    if (userInput == 0) {
        T = __int32;
    } else if (userInput == 1) {
        T = __int16;
    } else if (userInput == 2) {
        T = __int8;
    } else if (userInput == 3) {
    ...

    CallMe<T>(paramToUse);

这样,如果CallMe更改了的签名,则只需更新一行。

艾克桑·哈克维迪利

怎么样:

decltype(CallMe<__int32>)* callable; // function pointer 

// set the function address as necessary 
if (userInput == 0) {
  callable = CallMe<__int32>;
} else if (userInput == 1) {
  callable = CallMe<__int16>;
} else if (userInput == 2) {
  callable = CallMe<__int8>;
} else {
 // ...
} 

callable(paramToUse); // call it

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Django如何将切换开关/复选框状态分配给变量并将其传递给views.py?

来自分类Dev

将模板变量传递给matMenuTriggerFor时,将模板变量分配给matMenu有什么用?

来自分类Dev

将参数传递给分配给变量的函数

来自分类Dev

将$ .ajax分配给变量并传递给$ .when

来自分类Dev

将函数作为变量传递并将其分配给仍然可以在Lua中引用“自我”的对象

来自分类Dev

如何创建对象并将其分配给严格类型的变量?

来自分类Dev

将单位类型分配给变量

来自分类Dev

将任何类型分配给变量

来自分类Dev

如何将sql查询的结果分配给变量并将其用于内置函数中?

来自分类Dev

分解结果并将其分配给变量

来自分类Dev

检索Firebase数据并将其分配给变量

来自分类Dev

AngularJS:从函数返回数据并将其分配给变量

来自分类Dev

从列表中提取项目并将其分配给变量

来自分类Dev

从对象中提取整数并将其分配给变量

来自分类Dev

选择第n行并将其分配给变量

来自分类Dev

从输入中读取整数并将其分配给变量

来自分类Dev

从函数返回数组并将其分配给变量

来自分类Dev

从数组中调用元素并将其分配给变量?

来自分类Dev

选择属性的特定部分并将其分配给变量

来自分类Dev

将指针类型转换为 &(int*) 和 (int*)& 并将其分配给某个指针变量时有什么区别?

来自分类Dev

将javascript变量分配给Django模板变量

来自分类Dev

C ++将类型A的变量分配给扩展了A的类型B

来自分类Dev

无法将ID作为变量分配给Jade模板

来自分类Dev

将最后一个位置参数分配给变量并将其从“ $ @”中删除

来自分类Dev

如何将json响应传递给函数:类型'unknown'的参数不能分配给类型'any []'的参数

来自分类Dev

将`{} + []`分配给变量

来自分类Dev

将动态数组类型分配给TArray <T>变量

来自分类Dev

将变量类型分配给数字java

来自分类Dev

通过值传递可调用对象,并将其分配给指针成员

Related 相关文章

  1. 1

    Django如何将切换开关/复选框状态分配给变量并将其传递给views.py?

  2. 2

    将模板变量传递给matMenuTriggerFor时,将模板变量分配给matMenu有什么用?

  3. 3

    将参数传递给分配给变量的函数

  4. 4

    将$ .ajax分配给变量并传递给$ .when

  5. 5

    将函数作为变量传递并将其分配给仍然可以在Lua中引用“自我”的对象

  6. 6

    如何创建对象并将其分配给严格类型的变量?

  7. 7

    将单位类型分配给变量

  8. 8

    将任何类型分配给变量

  9. 9

    如何将sql查询的结果分配给变量并将其用于内置函数中?

  10. 10

    分解结果并将其分配给变量

  11. 11

    检索Firebase数据并将其分配给变量

  12. 12

    AngularJS:从函数返回数据并将其分配给变量

  13. 13

    从列表中提取项目并将其分配给变量

  14. 14

    从对象中提取整数并将其分配给变量

  15. 15

    选择第n行并将其分配给变量

  16. 16

    从输入中读取整数并将其分配给变量

  17. 17

    从函数返回数组并将其分配给变量

  18. 18

    从数组中调用元素并将其分配给变量?

  19. 19

    选择属性的特定部分并将其分配给变量

  20. 20

    将指针类型转换为 &(int*) 和 (int*)& 并将其分配给某个指针变量时有什么区别?

  21. 21

    将javascript变量分配给Django模板变量

  22. 22

    C ++将类型A的变量分配给扩展了A的类型B

  23. 23

    无法将ID作为变量分配给Jade模板

  24. 24

    将最后一个位置参数分配给变量并将其从“ $ @”中删除

  25. 25

    如何将json响应传递给函数:类型'unknown'的参数不能分配给类型'any []'的参数

  26. 26

    将`{} + []`分配给变量

  27. 27

    将动态数组类型分配给TArray <T>变量

  28. 28

    将变量类型分配给数字java

  29. 29

    通过值传递可调用对象,并将其分配给指针成员

热门标签

归档