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 に答える