指针的二维向量向函数的多态传递

时间:2019-01-13 15:56:27

标签: c++ pointers vector polymorphism

我有一个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样式数组并失去动态大小外,还有什么?

0 个答案:

没有答案