Мин / макс произвольного типа T в C ++ 11

Есть ли способ присвоения переменной произвольного типа 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();

вместо.

-2

Решение

Если вы имеете дело только с типами, которые имеют специализацию 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);
}
3

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]