zoukankan      html  css  js  c++  java
  • STL使用心得

    1.  如想从容器删除对象,调用remove,remove_if和unique算法后,必须接着调用erase才能真正删除对象,但list的remove,remove_if和unique真的删除掉了对象。sort算法不能用于list,但list可以调用自己的sort成员函数。list自带的排序函数sort  (list::sort函数和一个“稳定”排序函数的效果一样)。

    2.  priority_queue 的优先级与平时的容器刚好相反.

    3.  vector<M> v;  v.push_back(M("name","1234"));  push_back只接受一个参数 但用M强制类型转换把参数换成是一个类
    从而添加到容器中!!! 不必建立一个对象 赋值 再添加到容器中 对结构也可以

    4.  vector<vector<int> >  二维数组. 尽量不要把它作为参数传入. 很慢,尤其是有递归的函数.

    5.  比较常用的几个算法 for_each(), sort(), unique(), equal(),Generate().

    6.  迭代器左闭右开 [ a , b ) 的区间。(这种左闭右开的区间的思想贯穿整个STL)(引用赵大神原话)

    sort( a , a + n ); 是对前n个元素排序

    sort( a+1 , a + 5 ); 是对a[1],a[2],a[3],a[4]四个元素排序

    7. sort(a.begin(),a.end(), greater<int>());  第三个参数的括号

    8.  不要定义了一个vector<int> a之后 就直接出现a[3]这种情况. 多用push_back吧.

    9.  很多算法返回的都是一个迭代器,*iterator可能会得到你想要的结果.

    10.  仿函数是个好东西,可以令你的算法千变万化.

    11.····

  • 相关阅读:
    java 集合排序
    java传值和传址
    Dom4j操作xml
    JAXP操作xml
    乐观锁和悲观锁【转】
    java IO【转】
    java 可变参数
    Eclipse调试Java的10个技巧【转】
    编译JDK源代码【转】
    Access restriction: The method typeNameToClass(String) from the type ObjectHandler is not accessible due to restriction on required library
  • 原文地址:https://www.cnblogs.com/lewiskyo/p/STL.html
Copyright © 2011-2022 走看看