該問題可能很難理解,但問題很簡單,我將在這裏用簡單的語言描述它。 現在,我的資源同治是:從模板成員函數的調用中創建類型的新容器
cResMgr<cTexture> textures;
cResMgr<cSound> sounds;
我想要做的是:
cResMgr resources;
resources.add<cTexture>(...);
resources.get<cSound>(...);
基本上,我的資源管理器「得到」和「添加」功能。我希望當我第一次爲任何類型調用函數時,它會爲它創建一個容器。當它被下一次調用時,它就在那裏(它類似於函數中的靜態變量)
問題是,我該如何實現它?我能想到的唯一解決方案是讓每個資源都來自空的基類cResource,這樣我就可以擁有一個指向cResource的指針容器。問題是,資源類型不是我的(它們來自外部庫)
任何解決方案?
「(它類似於函數中的靜態變量)」什麼讓你不使用它? – Grizzly 2013-02-08 21:55:26
@Grizzly新的容器必須在運行時生成 - 即cResMgr不知道它必須存儲多少個容器。 – user1873947 2013-02-08 21:56:56
那麼它不是每個資源類型的一個容器? – Grizzly 2013-02-08 21:58:56