2

我有一个整数向量

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()
4

1 回答 1

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();
于 2012-12-17T08:14:03.107 回答