内存访问错误 - 矢量调整大小

时间:2014-09-30 12:09:56

标签: c++ vector

我有两列大小为N1和N2的列。这两种规模都超过10亿。现在我想定义一个向量并将其大小调整为N1 X N2。

我尝试使用vector resize函数实现这个,如下所示,但是出现了内存访问错误。还有其他方法可以达到这个目的。

    myvector.resize(N1*N2);

感谢您的建议

1 个答案:

答案 0 :(得分:0)

你真的必须将所有物品存放在内存中吗?您应该检查是否可以使用较小的矩阵块(如果有的话)。 对于像存储器中存储所有项目的描述那样的大型操作将不会很好地扩展。我做了什么:得到一个块,对它进行操作并将其写回到您的媒体中。这样可以避免内存错误。

请查看此方面的核心算法,以了解有关此方法背后的想法的更多信息:http://en.wikipedia.org/wiki/Out-of-core_algorithm