- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
在 32 位系统上。
std::vector<char>::max_size()
返回 232-1,大小为 char
— 1 个字节std::vector<int>::max_size()
返回 230-1,大小为 int
— 4 字节std::vector<double>::max_size()
返回 229-1,大小为 double
— 8 字节谁能告诉我max_size()
取决于什么?
max_size()
的返回值是多少?如果它在 64 位系统上运行。
最佳答案
max_size()
是理论上可以放入 vector 中的最大项目数。在 32 位系统上,理论上您可以分配 4Gb == 2^32,即 2^32 char
值、2^30 int
值或 2^29 double
值。您的实现似乎正在使用该值,但减去 1。
当然,你永远不可能在 32 位系统上真正分配这么大的 vector 。在那之前你会用完内存。
对于 max_size()
返回的值没有任何要求,除非您不能分配大于该值的 vector 。在 64 位系统上,它可能为 char
返回 2^64-1,或者它可能返回较小的值,因为系统只有有限的内存空间。无论如何,64 位 PC 通常被限制为 48 位地址空间。
关于C++ vector max_size();,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3813124/
在学习(和试验)STL 容器时,我发现我的系统(gcc 版本 4.7.2,x86_64)上的 vector max_size = 4611686018427387903 和 deque max_siz
最近我注意到给定 std::string s 的情况下以下陈述不正确. s.max_size() == s.get_allocator().max_size(); 我发现这很有趣,默认情况下 std:
容器大小大于 max_size 时的标准是什么? UB、std::bad_alloc 或其他东西? MSVC 抛出异常。 最佳答案 我假设您的意思是“如果我尝试将容器推过 max_size 会发生什么
在 32 位系统上。 std::vector::max_size()返回 232-1,大小为 char — 1 个字节 std::vector::max_size()返回 230-1,大小为 int
看到源码的时候是这么说的 size_type max_size() const { return size_type(-1); } 我不知道为什么它应该返回-1,我可以返回任何其他整数或字符吗
据我了解,双端队列是一个循环缓冲区,当它用完空间时,它会分配新空间(如果可以的话)。有没有办法限制双端队列可以增长到?或者确保它不会超过最大大小的唯一方法是每次我想将数据插入双端队列时进行检查? 最佳
我有一个巨大的文本文件(~5GB),它是我程序的数据库。在运行期间,这个数据库被完全读取多次,使用字符串函数,如string::find()、string::at()、string::substr()
我有一个类苹果 class apples { private: double x; double y; double z; public: //
我正在构建自己的 array用于娱乐和教育的类模板。 C++0x标准草案规定了一个成员函数max_size()对于所有容器为 distance(begin(), end()) “为了尽可能大的容器”。
这question让我想到了 vector 类中的 max_size 方法。很明显,实际上 vector 中包含的元素数量将比 max_size 返回的元素数量少得多。所以我想知道这在哪里有用?有什么
我试图在 C 中重现 std::string 的行为,但是有一件事我真的不知道该怎么做。有一个max_size成员方法可以提供字符串(或 vector 等的任何其他数组)可以具有的最大大小,所以我的问
我想将要上传的文件的 max_size 设置为 2m。我有下面的配置,但它仍然上传甚至 4m 文件...... oneup_uploader: mappings: motors
我试图在初始化后阶段设置 boost log max_size 参数。到目前为止,我能够像这样在初始化阶段设置它: logging::add_file_log( keywor
我有这部分代码,但我不明白第一个 typedef 是如何工作的,以及当我们在结构中使用它时会发生什么。 #define MAX_BLOCKEDADDRESS_SIZE 256 typedef char
假设我实现了一个类似于动态数组的常量数据结构。即,我给数据结构一个长度 l在构造函数中。然后,该数据结构的实例将永远无法容纳比 l 更多的元素。 .我希望该数据结构具有尽可能接近 STL 的接口(in
为什么 max_size 不是 std::string 的静态成员? 这可以编译,但我觉得奇怪的是所有字符串共有的属性只能通过字符串的实例访问: std::size_t max_size = std:
为什么 max_size 不是 std::string 的静态成员? 这可以编译,但我觉得奇怪的是所有字符串共有的属性只能通过字符串的实例访问: std::size_t max_size = std:
我知道 std::allocator 中的 max_size() 是理论上的限制,但我只是尝试了一些东西,我得到的数字非常大;那么我应该如何解释这个数字以及这个函数背后的哲学是什么? 我的例子: #i
C++ 中 std::array 的 size() 和 max_size() 函数有什么区别? array arr{ 1, 2, 3, 4, 5 }; cout arr{ 1, 2, 3,
C++ 中 std::array 的 size() 和 max_size() 函数有什么区别? array arr{ 1, 2, 3, 4, 5 }; cout arr{ 1, 2, 3,
我是一名优秀的程序员,十分优秀!