【发布时间】:2012-09-30 09:52:39
【问题描述】:
有没有办法分配任意类型的变量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::string的最大值是多少?任何容器?还是数据库连接?互斥体? -
说最大长度是5,现在最大字符串是
"aaaaa"还是"bbbbb"? -
你不能只为你的类型
T定义std::numeric_limits<T>::max()吗? -
@VladLazarenko:抱歉,我的枚举的底层是 64 位宽,它有 12 个元素,所以最大值的 12 倍太大,无法容纳任何类型。
fstream位于无盘系统上,其中唯一的 I/O 是通过网络。Object是个玩笑,我当然不会和 Java 程序员做朋友。 -
@Vlad: 哎呀,他们似乎被标记为
constexpr毕竟,我的错。很抱歉造成混乱!