
STL源码解剖
奔跑的马
像马一样不停地奔跑...
展开
-
STL算法---reverse系列
reverse●将序列的元素的顺序颠倒。●接受双向迭代器(或随机迭代器),无返回值。●考虑点:元素个数为奇数或偶数的情况的处理●代码实现:双向迭代器的版本的实现:template void reverse(BidirectionalIterator first,BidirectionalIterator last){ while(true) {原创 2015-05-26 23:35:41 · 548 阅读 · 0 评论 -
STL算法---remove系列
remove●接受的是前向迭代器,返回的也是前向迭代器。●移除但不删除。这个操作意思是原来那个位置的元素值改变了,但是该存储单元还是存在的。容器的大小不会发生变化。●可能会有残余数据。可以利用erase()成员函数删除残余数据。●代码实现:template ForwardIterator remove(ForwardIterator first,ForwardIterator原创 2015-05-26 23:40:19 · 515 阅读 · 0 评论