如何根据cpp模板中的实际类型调用整数类型?

How to call an integral types base on actual type in a cpp template?

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

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

最好的标准方式就是依靠<limits>header。已经存在一个模板可以执行您想要的操作。它是 std::numeric_limits 及其静态 max 函数。所以你想要的看起来像这样:

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