1、List 装入引用或指针的方式
push_back()
push_front()
pop_back()
pop_front()
#include <iostream> #include <list> using namespace std; class A{ public: virtual void print(){cout<<"A::print()"<<endl;} }; class B: public A{ public: void print(){cout<<"B::print()"<<endl;} }; int main(int argc, char* argv[]){ A *pa = new A; B *pb = new B; list<A*> temp; list<A*>::iterator iter; temp.push_back(pa); temp.push_back(pb); for(iter=temp.begin(); iter!=temp.end(); ++iter){ (*iter)->print(); delete(*iter); } return 0; }
2、根据position查找对象
actorPosition = (actorPosition + 1) % activePlayers.size(); list<Player*>::iterator iter = activePlayers.begin(); advance(iter, actorPosition); actor = *iter; // Potion对应的Object // actor = activePlayers.front(); // actor = iter.front();
-----