C++11 中任意类型 T 的最小值/最大值

Min/max of arbitrary type T in C++11

本文关键字:最小值 最大值 任意 类型 C++11      更新时间:2023-10-16

有没有办法分配任意类型的变量T它是最小值或最大值?

template <typename T>
void setMax(T& var){
var=MAXIMUM_OF_TYPE_T; //can this be done?
}
T toBeMaxed;
setMax(toBeMaxed);

万一T int,我也可以

var=std::numeric_limits<int>::max();

相反。

如果您只处理具有 std::numeric_limits<T>::max(); 专用化的类型,则可以按如下方式实现您的函数:

#include <limits>
template <typename T>
void setMax(T& var){
    var=std::numeric_limits<T>::max();
}
int main() {
    int intvar;
    setMax(intvar);
    float floatvar;
    setMax(floatvar);
    char charvar;
    setMax(charvar);
}