stl about(持续更新中)

来源:互联网 发布:php 7.0.12 安装posix 编辑:程序博客网 时间:2024/05/22 17:27

1. 慎重选择容器

2.assign()一个功能比较好效率高的函数,建议多用

3 调用EMPTY而不是检查size是否为0

4了解下序列容器 (list,string....)  关联容器(map,hashmap....)

5 stl容器如果包含了通过NEW操作符创建指针,切记在容器对象析构前将指针delete掉

*切勿创建包含 auto_ptr的容器对象(拷贝一个auto_ptr意味着改变它的值)

**删除特定元素时:

当c是vector,string,deque时 :c.erase(remove(c.begin(),c.end(),1963,c.end());

当c是list时: c.remove(1963)

当c是关联容器时:c.erase(1963)

**删除判别式

c.earse(remove_if(c.begin(),c.end(),badvalue,c.end());

c.remove_if(badvalue);

关联容器

container<int> C;

for(container<int>::iterator i = c.begin(); i != c.end();)

{

    if(badvalue(*i))   c.erase(i++);   //旧的i传给c.erase,而i递增后再进行删除动作

    else   ++i;

}

 

  

 

 

原创粉丝点击