STD ::大小和STD :: MAP的最大尺寸

Maximum size of std::size and std::map?

本文关键字:STD MAP      更新时间:2023-10-16

std :: size and 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()返回容器中 Elements 的最大数量,而std::numeric_limits<container<T>::size_type>::max()返回size_type范围。这些是无与伦比的值。

理论限制是size_t可能包含的最大数字,通常用于返回容器中的元素数量。对于大多数32位平台的2^32,对于大多数64位平台,其2^64,但实际上这是实现的定义,标准中没有强大的限制。

,但实际上,任何容器的最大尺寸都少得多,因为它受到可用内存地址空间和可用的免费内存的限制。