C++ 容器之 list的使用
c++ list api
assign() 给list赋值
back() 返回最后一个元素
begin() 返回指向第一个元素的迭代器
clear() 删除所有元素
empty() 如果list是空的则返回true
end() 返回末尾的迭代器
erase() 删除一个元素
front() 返回第一个元素
get_allocator() 返回list的配置器
insert() 插入一个元素到list中
max_size() 返回list能容纳的最大元素数量
merge() 合并两个list
pop_back() 删除最后一个元素
pop_front() 删除第一个元素
push_back() 在list的末尾添加一个元素
push_front() 在list的头部添加一个元素
rbegin() 返回指向第一个元素的逆向迭代器
remove() 从list删除元素
remove_if() 按指定条件删除元素
rend() 指向list末尾的逆向迭代器
resize() 改变list的大小
reverse() 把list的元素倒转
size() 返回list中的元素个数
sort() 给list排序
splice() 合并两个list
swap() 交换两个list
unique() 删除list中重复的元素
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();
3、遍历
itor=ilist.begin(); while(itor!=ilist.end()) { cout<< *itor++<<endl; }
-----

浙公网安备 33010602011771号