4

std::size と std::map の最大サイズは? そして、この数を増やす方法はありますか?

ありがとう!

4

3 に答える 3

4

呼び出すことで、すべての標準ライブラリ コンテナーの最大サイズを取得できますContainer::max_size()。コンパイル時に理論上の最大サイズ値が必要な場合は、 を使用しますstd::numeric_limits<Container::size_type>::max()

于 2012-10-24T17:10:25.353 に答える
3

標準コンテナの最大サイズはcontainer<T>::max_size()メソッドによって与えられます。一般に、このサイズは の範囲よりも小さい可能性があります (そしてそうなるでしょう) container<T>::size_type

の範囲はcontainer::size_typeを介し​​て取得できますstd::numeric_limitsが、コンテナーは最大サイズが の全範囲に達することを保証しないことに注意してくださいsize_type

また、はコンテナ内の要素container<T>::max_size()の最大数を返しますが、 の範囲を返します。これらは比類のない価値です。std::numeric_limits<container<T>::size_type>::max()size_type

于 2012-10-24T17:15:35.303 に答える
1

size_t理論上の制限は、コンテナー内の要素の数を返すために通常使用される、含めることができる最大数です。ほとんどの 32 ビット プラットフォームでは 2^32、ほとんどの 64 ビット プラットフォームでは 2^64 ですが、実際にはこれは実装定義であり、標準には強い制限はありません。

ただし、実際には、コンテナーの可能な最大サイズは、使用可能なメモリ アドレス空間と使用可能な空きメモリによって制限されるため、はるかに小さくなります。

于 2012-10-24T17:16:25.957 に答える