我有一個std::vector<Character*>
將包含的Character
幾種不同的派生類,我將只需要調用Enemy1
,Enemy2
,並Player
對這個問題的目的。我見過其他情況下,有人有一個陣列,如Character characters[30]
,但因爲我需要多態性,我不認爲這會對我有用(我可能是錯的)。C++ - 緩存對象
本質上我的問題是實現,我如何設置/緩存多個字符重複使用這種方式?我在看這個(http://gameprogrammingpatterns.com/object-pool.html),我不確定載體是否可以以同樣的方式工作。例如,如果向量中的一個對象已被例示爲new Enemy1()
,我可以稍後覆蓋它並將其設置爲new Enemy2()
?我應該爲每個敵人類型分別有不同的向量/陣列嗎?
可能的參考:http://channel9.msdn.com/Events/GoingNative/2013/My-Favorite-Cpp-10-Liner – 2014-12-11 03:23:43
可能更好的方法是'std :: vector>''或'std :: vector >'。請參見[動態內存管理](http://en.cppreference.com/w/cpp/memory)。 –
2014-12-11 03:25:19
我觀看了實際上並不差的視頻,但並沒有爲不存在的對象調用緩存,但仍然需要與使用'new'實例化對象並將其插入地圖一樣的努力? – 2014-12-11 04:06:28