繁体   English   中英

c ++ boost :: multi_array索引太大了

[英]c++ boost::multi_array index too large

我正在使用二维boost :: multi_array来存储自定义结构的对象。 问题是我有大量的这些对象,因此我需要的数组索引超出了整数的范围。 是否有可能使用long作为多数组的索引,或者您是否有任何其他建议如何存储这么大的数据集并仍以合适的速度保持可访问性?

谢谢!

官方文档指出索引类型未指定 ,但是查看存储库 ,可以看到定义最有可能是typedef std::ptrdiff_t index ;

因此,如果你编译一个x86 32位系统,你肯定会耗尽可寻址的内存,所以有限的标记大小不是你真正的问题。 您唯一的选择是选择一个具有足够内存的系统,该系统必须是一个超过2 ^ 32字节的系统,因此必须是64位。 2 ^ 64肯定足以代表多阵列的尺寸。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM