我做了一個關於這個網絡的好搜索,並提出了很多關於矢量的幫助,但沒有任何關於STL列表的東西。我試圖擦除地圖中列表的指針。 (有點棘手)。我真的想使用指針,而不是恢復到另一個(更糟糕的)做事系統。我會告訴代碼指針與STL地圖和列表
bool RoomDB::removePlayer(int socketid, int roomid) {
list<GamePlayer>::iterator itit;
for(itit == roomlist[roomid].playerlist.begin(); itit != itit.end(); itit++) {
if(itit.socketno == socketid)
itit.erase(itit);
}
+1的'remove_if'方法 –
@SethCarnegie:謝謝你,帶我永遠明白了事情的原委:-S –
對不起,這offtopic評論,但你可以推薦一本書或可以學到一些東西全部stdlib類和一切從?有效的STL已經過時了(現在我們已經有了C++ 11),並且對於已經熟悉STL的人來說也是如此。我知道數據結構和一些算法,但是我對stdlib的瞭解卻很痛苦。就像在這種情況下,我知道有一種方法可以用'remove_if'來做到這一點,因爲我已經看到了它,但我不知道該怎麼做。 –