[英]How is max size calculated in the function max_size() in std::list?
在std :: list中,如何在函数max_size()中计算最大大小? 现在我意识到这取决于实现,但我们假设我是制作标准库的人。 我如何确定可移植的特定类型T
list
的最大限制?
它几乎总是N的最大值,其中容器最多可以有N个元素。 这几乎总是指有问题的平台上无符号整数类型的最大值,除以要存储在容器中的元素类型的大小。
它通常是这样的
numeric_limits<size_type>::max();
因为这是收集所强加的唯一限制,而不是平台。 该集合只对其自身负责,因此即使它可以计算类似系统的最大内存之类的东西,它仍将仅返回它所施加的限制。
按照标准 - 这是最大容器的大小。 该函数也必须具有恒定的复杂性。
从当前的C ++标准:size_type distance(begin(),end())获取最大可能的容器
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.