关闭

stl about(持续更新中)

601人阅读 评论(0) 收藏 举报

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;

}

 

  

 

 

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:341496次
    • 积分:4638
    • 等级:
    • 排名:第6547名
    • 原创:95篇
    • 转载:113篇
    • 译文:0篇
    • 评论:83条
    最新评论