-2

T最小値または最大値である任意の型の変数を割り当てる方法はありますか?

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

T toBeMaxed;
setMax(toBeMaxed);

もしそうなら、私もそうすることができましTint

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

代わりは。

4

1 に答える 1

3

の特殊化を持つ型のみを扱っている場合は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);
}
于 2012-10-10T01:47:22.907 に答える