相关疑难解决方法(0)

如何知道向量的正确最大大小?最大尺寸()?但不是

使用矢量时,显示“内存不足”。
为了解决这个问题,我使用 max_size() 来检查,然后保留或 Push_back。
如果max_size()比保留值大应该没问题,但是不行!那么max_size()的意义是什么?
我在 Windows 7 和 Visual Studio 2010 中编译了下面的演示。我的电脑有 4GB RAM。当reserved是max_size()的1/2时,失败。

max_size()=2^32/sizeof(CPoint3D)-1=268435455
Run Code Online (Sandbox Code Playgroud)

演示中max_size()的1/4就可以了。在我的实际项目中,直到1/10都可以。

矢量的最大尺寸是多少,如何放大它


当我将大量元素推入std::vector. 为了避免这个错误,我vector::max_size()首先检查了,并使用vector::reserve()预分配内存。然而,这不起作用。在演示项目中,当我保留 1/4 的max_size. 在实际项目中,当我保留1/10时,就会出现错误。我正在运行 Windows 7 并使用 Visual Studio 2010 进行编译。我的计算机有 4GB RAM。

如果max_size不起作用,我如何找出可以为 a 分配的最大元素数vector

c++ stl vector

2
推荐指数
1
解决办法
1845
查看次数

标签 统计

c++ ×1

stl ×1

vector ×1