矢量的实际使用::max_size

Practical use of vector::max_size

本文关键字:max size      更新时间:2023-10-16

这个问题让我思考了vector类中的max_size方法。很明显,实际上向量中包含的元素数量将比max_size返回的要少得多。所以我想知道这在哪里有用?有线索吗?

它真的不是很有用。

唯一的理论用法是检查如果您需要一个大于max_size()的容器,那么您就有麻烦了。但当考虑将数据库服务器的端口连接到微波炉时,您可能已经意识到了这一点。

该委员会曾考虑改进该功能,但认为它不够有用,不值得改变:

max_size()对很多事情都没有用处,现有的措辞对于max_size()可以用于的少数情况来说足够清晰。改变现有措辞的任何尝试都没有改善。

http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-closed.html#197

我认为它有用的情况很少,但您可能需要一个大得离谱的索引。例如,您可能有一个索引数组,并且希望使用不可能使用的索引值对其进行初始化,这表明这些索引尚未确定。

这只是告诉您在环境中的向量中可以存储多少元素。它在嵌入式环境中可能很重要。