如果我有一個STL列表,其中包含指向一個類的指針,並且想要訪問一個類成員,我該怎麼做?具體來說,我需要能夠刪除列表中的每個成員具有唯一標識的成員。STL鏈表::如何訪問成員?
所以我有這樣的:
class Actor{
private:
int id;
public:
int getActorID(){ return id;};
};
std::list<Actor *> actorList;
std::list<Actor *>::iterator i;
所以,如果每個演員都有一個唯一的ID,我怎麼能去掉演員與特定的ID?我一直在使用手工編碼的鏈表,但我想將它切換到STL。唯一的問題是我無法弄清楚如何訪問方法getActorID()來查找要刪除的節點。謝謝你的幫助。
您確定您想要的清單是?這聽起來更像是你在尋找地圖。 – oldrinb
請重新考慮使用鏈接列表。如果你會遍歷這個列表,使用一個向量。如果你需要一個唯一的id與一個對象相關聯,使用一個map(或者C++ 11中的unordered_map)。鏈接列表對於大多數用途來說都很糟糕。 http://www.futurechips.org/thoughts-for-researchers/quick-post-linked-lists.html –