【发布时间】:2018-04-30 04:40:05
【问题描述】:
如何根据 cpp 模板中的实际类型调用整数类型?例如,当实际类型为int时,调用INT_MAX。而当实际类型为unsigned long时,调用ULONG_MAX;
当然,我可以只写一个if-else 语句,但是还有其他方法吗?或者编写这部分代码的最佳方式是什么?
【问题讨论】:
如何根据 cpp 模板中的实际类型调用整数类型?例如,当实际类型为int时,调用INT_MAX。而当实际类型为unsigned long时,调用ULONG_MAX;
当然,我可以只写一个if-else 语句,但是还有其他方法吗?或者编写这部分代码的最佳方式是什么?
【问题讨论】:
最好的标准方法是依赖<limits> 标头。一个模板已经存在,可以满足您的需求。它是 std::numeric_limits 及其静态 max 函数。所以你想要的会是这样的:
auto max_int = std::numeric_limits<int>::max();
【讨论】: