I Love Stl
文章平均质量分 75
quentinliu
A
展开
-
stl学习笔记1
最近觉得有必要系统地学习一下stl了,感觉《The C++ Stand Library 》这本书相当不错,每天写一下里面的代码,当作练习,希望早日能够对Stl应用自如。入门第一课,今天写了一下序列式容器 的code //stl/vector1.cpp#include iostream>#include vector>using namespace std;int main(原创 2007-11-04 13:37:00 · 537 阅读 · 0 评论 -
stl 学习笔记13 advance()distance() iter_swap()
advance 提供给所有的迭代器 Random Access 才有的功能,另迭代器前进,增加的幅度有参数决定。 //iter/advance1.cpp //advance 迭代器前进 //- #include #include #include using namespace std; typedef std::list IntList; typedef std::list::it原创 2012-06-04 13:50:35 · 526 阅读 · 0 评论 -
随机访问 的 迭代器 (iterator)
//itercat #include #include #include "print_elements.h" using namespace std; int main() { vector coll1; for(int i = -3;i <= 9; ++i) { coll1.push_back(i); } PRINT_ELEMENTS(coll1); cout <原创 2011-11-22 00:18:00 · 3175 阅读 · 1 评论 -
微软STL的一个bug
back_inserter原创 2010-08-29 18:32:00 · 927 阅读 · 3 评论 -
stl 学习笔记 12
//cont/array1.cpp/**//*======================array 可以做为stl容器。但不提供 begin()和end(),也不提供任何成员函数======================*/#include iostream>#include algorithm>#include functional>using namespace std;int mai原创 2007-12-16 03:16:00 · 528 阅读 · 0 评论 -
stl 学习笔记 11
//stl/map1#include iostream>#include map>#include string>using namespace std;int main()...{ //StringFloatMap typedef mapstring,float> StringFloatMap; StringFloatMap stocks; stocks["B原创 2007-12-05 00:46:00 · 578 阅读 · 0 评论 -
stl 学习笔记 10
//stl/list1.cpp#include iostream>#include list>#include algorithm>using namespace std;void PrintList(const listint>& l1,const listint>& l2)...{ cout "list1: "; copy(l1.begin(),l1.end(),ostream原创 2007-12-03 16:07:00 · 440 阅读 · 0 评论 -
stl 学习笔记 9
vector 容器方法的例子//stl/vectors1/**//*vector 的一些方法*/#include iostream>#include vector>#include string>#include algorithm>using namespace std;int main()...{ vectorstring> sentence; sentence.re原创 2007-11-29 22:37:00 · 525 阅读 · 0 评论 -
stl 学习笔记 8 续 (function object)
function object 续//stl/fo1.cpp/**//*预先定义好的 function object*/#include iostream>#include set>#include deque>#include algorithm>#include "print.h"using namespace std;int main()...{ setint,greater原创 2007-11-28 11:48:00 · 509 阅读 · 0 评论 -
stl 学习笔记 8
function object 仿函数 //stl/ foreach2.cpp/**//*using function object*/#include iostream>#include vector>#include algorithm>using namespace std;/**//*function object(仿函数,函数对象)*/class PrintInt...{原创 2007-11-28 00:23:00 · 475 阅读 · 0 评论 -
stl学习笔记7
//stl/foreach1.cpp/**//*函数作为算法的参数*/#include iostream>#include vector>#include algorithm>using namespace std;void print(int elem)...{ cout elem ;}int main()...{ vectorint> coll; for(int i原创 2007-11-11 23:20:00 · 580 阅读 · 0 评论 -
stl学习笔记6
更易行算法(manipulating algorithms)指能够删除或者重排或者修改元素的算法。 //stl/remove1.cpp/**//* remove 并不改变群集中的元素数量,end()返回的是当初的那个终点,size()返回原来的size。*/#include iostream>#include list>#include algorithm>using namespa原创 2007-11-11 01:22:00 · 539 阅读 · 0 评论 -
stl学习笔记4
//stl/copy/**//*copy() function 执行复写(overwrite)动作,要求指出第一区间的 起点和终点,指出第二区间的起点,如果第二区间的大小不足,copy函数会覆写 end()后面的部分,可能会引起程序崩溃,或者更严重的后果。所以如果不用 insert iterators,那么就要求保证呢个目的有足够大的空间,下面程序用了两种方法container.resize(原创 2007-11-08 01:28:00 · 439 阅读 · 0 评论 -
stl学习笔记2
set 和multiset 以后用来做排序很方便啊。 这个就是把元素以排序的状态存放于内部的tree结构。set 不允许元素重复,multiset允许元素重复。写个简单的代码//stl/ set and multiset //cpp//#include iostream>#include set>using namespace std;int main()...{ typedef s原创 2007-11-05 15:06:00 · 922 阅读 · 0 评论 -
stl 学习笔记14 Reverse Iterator
//逆向迭代器,跟正向的迭代器一样是半开区间,但以相反的方向。 // //iter/reviter1.cpp //-rbegin - //-rend- #include #include #include using namespace std; void print(int elem) { cout << elem <<' '; } int main() { list col原创 2012-06-05 15:37:49 · 498 阅读 · 0 评论