【问题标题】:c++ boost::multi_array index too largec++ boost::multi_array 索引太大
【发布时间】:2018-06-07 07:18:29
【问题描述】:

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

谢谢!

【问题讨论】:

    标签: c++ boost boost-multi-array


    【解决方案1】:

    official documentation 声明索引类型是未指定,但查看repository,可以看到定义最有可能是typedef std::ptrdiff_t index

    因此,如果您为 x86 32 位系统进行编译,无论如何您肯定会用完可寻址内存,因此有限的索引大小不是您真正的问题。你唯一的选择是选择一个有足够内存的系统,它必须是一个超过 2^32 字节的系统,因此必须是一个 64 位的系统。 2^64 肯定足以代表您的多阵列的尺寸。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多