【问题标题】:How to call an integral types base on actual type in a cpp template?如何根据 cpp 模板中的实际类型调用整数类型?
【发布时间】:2018-04-30 04:40:05
【问题描述】:

如何根据 cpp 模板中的实际类型调用整数类型?例如,当实际类型为int时,调用INT_MAX。而当实际类型为unsigned long时,调用ULONG_MAX

当然,我可以只写一个if-else 语句,但是还有其他方法吗?或者编写这部分代码的最佳方式是什么?

【问题讨论】:

    标签: c++ integral


    【解决方案1】:

    最好的标准方法是依赖<limits> 标头。一个模板已经存在,可以满足您的需求。它是 std::numeric_limits 及其静态 max 函数。所以你想要的会是这样的:

    auto max_int = std::numeric_limits<int>::max();
    

    【讨论】:

      猜你喜欢
      • 2019-11-09
      • 2022-01-20
      • 2019-11-10
      • 1970-01-01
      • 2020-03-08
      • 2019-10-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多