C plus plus STL1

STL 六大部件

  • 容器
  • 分配器
  • 算法
  • 迭代器
  • 适配器
  • 仿函式

#include <algorithm>
#include <functional>
#include <iostream>
using namespace std;
int main()
{
    /* code */
    int ia[6] = {27,210,12 ,47,109,83};
    vector<int,allocator<int> > vi(ia,ia+6);
    /* 默认就有分配器 不写也行    设定数组ia的起始到 ia+6*/
        /*count_if给定条件下符合条件元素的个数*/ 
    cout << count_if(vi.begin(), vi.end(),/*begin和end会传回iterator      处理 整个vi中的元素*/ 
        not1(bind2nd(less<int>(),40)));
        /*bind2nd适配器绑定       小于40的元素  加not表示大于等于40*/ 
    return 0;
}

 

容器(不一定是连续空间)   指的是前闭后开区间 begin指的第一个元素开头 end指的是最后一个元素的下一个元素的开头

遍历迭代

for (int i : {2, 3, 4, 6, 8, 14})遍历迭代数组中的每一个元素
{
    std::cout << i << std::endl;
    /* code */
}

std::vector<int> vec;
for (auto elem : vec){   auto会去自动寻找vec中的类型
    std::cout << elem <<std::endl;  
}
for (auto& elem : vec){
    elem *= 3; 使用引用传值 把每个元素都乘以3
}

 

posted @ 2019-03-06 08:16  碎纸屑  阅读(156)  评论(0编辑  收藏  举报