爱彩365彩票官方app下载

在C++中是否有最大数组长度限制?

在C++中是否有最大数组长度限制?

从实际而不是理论的角度来看,在32位Windows系统上,单个进程的最大可用内存总量是2 GB。您可以使用具有更多物理内存的64位操作系统来打破限制,但是是这样做还是寻找替代方案在很大程度上取决于您的目标用户和他们的预算。您还可以使用PAE对其进行一些扩展。

数组的类型非常重要,因为在许多编译器上,默认的结构对齐是8字节,如果内存使用是一个问题,这是非常浪费的。如果您使用Visual C++作为目标窗口,请查看#pragma pack指令作为克服此问题的一种方法。

另一件要做的事情是看看内存压缩技术可能会对你有什么帮助,比如稀疏矩阵,动态压缩等等。同样,这是高度依赖于应用程序的。如果你编辑你的帖子,给出更多关于数组中实际内容的信息,你可能会得到更多有用的答案。

编辑:给出更多关于您确切需求的信息,您的存储需求似乎在7.6 GB到76 GB之间,这将需要一个相当昂贵的64位框来存储为C++中的内存中的数组。它提出了一个问题,为什么要将数据存储在内存中,在内存中,人们假设访问速度,并允许随机访问。将此数据存储在数组外部的最佳方式很大程度上取决于您想要访问它的方式。如果您需要随机访问数组成员,那么对于大多数应用程序来说,往往有对同时访问的数据块进行分组的方法。例如,在大型GIS和空间数据库中,数据通常按地理区域平铺。在C++编程术语中,您可以覆盖[]数组运算符,以便根据需要从外部存储中获取部分数据。

相关推荐

爱彩365彩票官方app下载 昆吾剑 - 放置江湖WIKI
爱彩365彩票官方app下载 国内法考培训三大机构名单,报班培训费是多少
爱彩365彩票官方app下载 朵色(DVZ')品牌简介💎