矢量的实际使用::max_size
Practical use of vector::max_size
这个问题让我思考了vector
类中的max_size
方法。很明显,实际上向量中包含的元素数量将比max_size
返回的要少得多。所以我想知道这在哪里有用?有线索吗?
它真的不是很有用。
唯一的理论用法是检查如果您需要一个大于max_size()
的容器,那么您就有麻烦了。但当考虑将数据库服务器的端口连接到微波炉时,您可能已经意识到了这一点。
该委员会曾考虑改进该功能,但认为它不够有用,不值得改变:
max_size()
对很多事情都没有用处,现有的措辞对于max_size()可以用于的少数情况来说足够清晰。改变现有措辞的任何尝试都没有改善。
http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-closed.html#197
我认为它有用的情况很少,但您可能需要一个大得离谱的索引。例如,您可能有一个索引数组,并且希望使用不可能使用的索引值对其进行初始化,这表明这些索引尚未确定。
这只是告诉您在环境中的向量中可以存储多少元素。它在嵌入式环境中可能很重要。
相关文章:
- C++,OpenCV,尝试显示图像时"OpenCV(4.3.0) Error: Assertion failed (size.width>0 && size.height>0)"此错误
- 大于65535的C++数组[size]引发不一致的溢出
- 为什么(-1)%vector::size()总是返回0
- 在for循环中使用auto vs decltype(vec.size())来处理字符串的向量
- <streamsize>C++ 中 numeric_limits::max() 的值
- 黑客级别的Mini-Max Sum
- 'max'匹配'std::function<const int &(const int &, const int &)>'无过载
- 循环中的条件:为什么每次都调用strlen(),而vector.size()只调用一次
- 关于 std::min, std::max 中的比较运算符的混淆
- 为什么这个 std::queue/指向结构的指针列表直到 List.Size() == 0 才释放内存?
- 在函数中使用 const int size 参数创建数组会在 Visual Studio 中抛出错误 C++:表达式的计
- vector.size() 在比较中意外工作
- 找到一种有效的方法,在 2 个巨大的缓冲区上执行 MAX,每字节字节
- vector.back() 和 vector[vector.size() - 1] 之间的区别?
- 返回 str vs. str.substr(0,str.size()) 在 leetcode 中给了我不同的输出
- std::max() 函数与定点实现的比较中的问题
- 使用 CImg 库的 std::min 和 std::max 的编译问题
- 为什么 GCC 不能假设 std::vector::size 在这个循环中不会改变?
- 为什么"(!v.empty())"比"(v.size() >0)"好?
- 在 3ds Max 中更新进度条后,环境和效果 UI 不刷新