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.····

  • 相关阅读:
    错误:net::ERR_BLOCKED_BY_CLIENT
    ui-grid angularjs
    angular Js 回车处理
    百度云盘-真实地址 F12 控制台
    Js 跨域CORS报错 Response for preflight has invalid HTTP status code 405
    angularjs 路由参数
    AngularJs Angular数据类型判断
    Bootstrap+AngularJS对话框实例
    AngularJs表单自动验证
    IIS7.5上的REST服务的Put操作发生HTTP Error 405.0
  • 原文地址:https://www.cnblogs.com/lewiskyo/p/STL.html
Copyright © 2011-2022 走看看