【发布时间】:2013-04-10 12:06:27
【问题描述】:
我有一个Polygon 结构和一个具有以下签名的函数
Polygon myfunction(Polygon &pol1, Polygon &pol2, int rot1, int rot2);
其中 pol1 和 pol2 是Polygons,rot1 和 rot2 是对 pol1 和 pol2 应用的旋转。
我需要存储myfunction 应用于一组多边形和一组允许旋转的所有结果。
因此,例如,如果我有 100 个多边形和 4 个允许旋转,我需要存储 100*100*4*4 = 160000 个多边形。我知道我需要大量内存,但我可以接受。
目前我将它们存储在这样的容器中:
vector<vector<vector<vector<Polygon>> results;
所以调用 results[pol1][pol2][rot1][rot2]; 我得到正确的多边形。
我知道访问单个结果可能效率很低,那么我该如何改进呢?
【问题讨论】: