std::size と std::map の最大サイズは? そして、この数を増やす方法はありますか?
ありがとう!
呼び出すことで、すべての標準ライブラリ コンテナーの最大サイズを取得できますContainer::max_size()
。コンパイル時に理論上の最大サイズ値が必要な場合は、 を使用しますstd::numeric_limits<Container::size_type>::max()
。
標準コンテナの最大サイズは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
size_t
理論上の制限は、コンテナー内の要素の数を返すために通常使用される、含めることができる最大数です。ほとんどの 32 ビット プラットフォームでは 2^32、ほとんどの 64 ビット プラットフォームでは 2^64 ですが、実際にはこれは実装定義であり、標準には強い制限はありません。
ただし、実際には、コンテナーの可能な最大サイズは、使用可能なメモリ アドレス空間と使用可能な空きメモリによって制限されるため、はるかに小さくなります。