STL源码剖析
粪逗er
努力的人运气不会差
展开
-
STL的erase()陷阱
节点式容器(map, list, set)元素的 删除、插入 操作会导致指向该元素的迭代器失效,其他元素迭代器不受影响顺序式容器(vector,string,deque)元素的 删除、插入 操作会导致指向该元素以及后面的元素的迭代器失效常见的vector删除元素的错误代码,见下:std::vector<struct> mFriendVec;...std::vector<...原创 2019-06-13 14:21:09 · 481 阅读 · 0 评论 -
STL & 自定义比较器
https://github.com/GuoJaw/A_STL/tree/master/Compare原创 2019-06-15 13:37:52 · 1166 阅读 · 0 评论 -
STL中accumulate的用法
accumulate定义在#include<numeric>中,作用有两个,一个是累加求和,另一个是自定义类型数据的处理1.累加求和int sum = accumulate(vec.begin() , vec.end() , 累加的初始值);例:① 数值相加 int sum = accumulate(vec.begin() , vec.end() , 42);② 字符...原创 2019-06-15 13:34:17 · 1711 阅读 · 1 评论 -
STL & remove 真正的删除元素
remove① 查找的得到第一个元素的位置,然后从此位置开始遍历容器,将后面的元素依次前移,跳过和value相同值的元素② remove返回值 = “指向最后一个 ‘有用’ 元素的iterator”③ remove并没有改变原容器的size,以及end(),并没有真正的删除元素举例说明:#include <iostream>#include <vector&...原创 2019-06-15 12:50:31 · 487 阅读 · 0 评论 -
STL & vector: max_element、min_element
在头文件 #include<algorithm> 中,返回的是迭代器,所以输出值的话要在前面加 *第三个参数cmp可写可不写, max_element() 和 min_element() 默认是从小到大排列,然后 max_element() 输出最后一个值, min_element() 输出第一个值,但是如果自定义的 cmp 函数写的是从大到小排列,那么会导致 max_ele...原创 2019-06-15 12:04:44 · 886 阅读 · 0 评论 -
STL & lower_bound 、 upper_bound、binary_search
lower_bound( )和upper_bound( )都是利用二分查找的方法在一个排好序的数组中进行查找的。lower_bound(起始地址,结束地址,要查找的数值val) 返回容器中第一个值【大于或等于】val的元素的iterator位置,通过返回的地址减去起始地址begin,得到找到数字在数组中的下标。upper_bound(起始地址,结束地址,要查找的数值val) 返回容器中第一...原创 2019-06-15 11:45:20 · 135 阅读 · 0 评论 -
STL & 容器与pair
对组 pair 是STL常用的关键字,它能够将多种元素组合成一个类型。#include<iostream>#include<vector>#include<list>#include<set>#include<map>#include<functional>#include<algorithm>us...原创 2019-06-15 11:33:37 · 170 阅读 · 0 评论 -
STL & 仿函数 | 仿函数适配器bind1st / bind2nd / not1 / not2
仿函数(为alogrithm服务) 说的通俗点就是:一个类重写了()运算符,该class创建出来的对象,这个对象就是函数对象(它是一个对象,但是像一个函数,因此叫做仿函数)...原创 2019-06-14 17:22:13 · 318 阅读 · 0 评论 -
STL之List::sort() & alogrithm::sort()
STL的容器需要[排序],使用到两种sort()函数,分别是 List.sort() 与 Container.sort()其中, List::sort() 成员函数 随机迭代器容器的alogrithm的sort()普通函数=-==...原创 2019-06-14 16:59:50 · 191 阅读 · 0 评论 -
STL & 迭代器失效
原创 2019-06-14 16:55:03 · 106 阅读 · 0 评论 -
STL & 容器
容器原创 2019-06-14 16:53:11 · 179 阅读 · 0 评论