有没有办法为任意类型的变量分配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);
}