int向量可以创建的最大no整数项

时间:2012-12-17 08:09:42

标签: c++

我有一个整数向量

std::vector<int> somevec

可以通过

查询int的限制
std::numeric_limits<int>::min() and std::numeric_limits<int>::max()

我可以创建一个大小超过std :: numeric_limits :: max()的矢量,即

can somevec.size() > std::numeric_limits<int>::max()

1 个答案:

答案 0 :(得分:5)

std::vector使用size_type成员进行索引,通常与int的类型不同。因此,使用:

std::numeric_limits<std::vector<int>::size_type>::max()

所以理论上,是的,somevec.size()可能大于std::numeric_limits<int>::max()

但是,std::vector的最大尺寸通常小于此金额,您可以像这样查询:

somevec.max_size();