我有一个Tile指针的2D向量。
std::vector<std::vector<Tile*>> tileMap;
瓷砖是雪碧
class Tile : Sprite
我需要将指向我的Tiles二维矢量的引用或指针传递给需要Sprites的函数。
void RenderTiles(const std::vector<std::vector<Sprite*>>& TileMap); // won't work
一种兼容的方法是使用迭代器,as suggested in this link.却不起作用,因为我的函数逻辑取决于能否索引到2D向量的各个部分。
此函数每秒将被调用多次,因此,将整个2D向量复制到Sprite类型的新向量中会对性能造成太大影响。
我有什么选择?除了切换到C样式数组并失去动态大小外,还有什么?