读书笔记(Effective STL)
hjing1988
这个作者很懒,什么都没留下…
展开
-
容器
算法的几个标准:常数型,与容器长度无关,算法始终是一个常数。如list的插入操作对数型,与容器长度呈对数的关系,即logn线性:与容器长度成正比。1、仔细选择容器顺序容器:vector,string,deque和list关联容器:set, Multiset, map和MultiMap非标准序列容器:slist,rope。slist是一个单向链表。list是双向的原创 2015-03-16 20:52:47 · 431 阅读 · 0 评论 -
迭代器和算法
1、关乎效率时在map-operator[]和map-insert中慎重选择map-operator[],检查k是否在map中,如果不在,则添加上,如果在,则更新‘它会返回一个k值关联对象的引用。然后用v赋值给引用对象。当k不在上,会先构造一个空的对象,然后调用赋值操作。2、通过mismatch和lexicographical比较实现简单的忽略大小写字符串的比较3、原创 2015-03-16 21:23:05 · 512 阅读 · 0 评论 -
注意count,find,binary_seach,lower_bound,upper_bound和equal_range的区别
1、count比较简单,统计区间等于某个值的个数。返回的是个数2、find查找等于某个值,并且返回第一个查找到的值,返回的是迭代器。3、binary_seach需要容器有序。它能够快速查找到某个值是否在容器中,但是它不会返回这个值的位置信息。返回的是一个bool信息4、lower_bound需要容器有序,它返回查找到某个值的第一个位置。如果没有找到这个值,它返回可以插入原创 2015-03-20 23:08:04 · 904 阅读 · 0 评论 -
ptr_fun,mem_fun,mem_fun_ref的使用
1、先得了解使仿函数可配置的方法我们一般使用算法如下:class TestForeach{void memFun();};vector vsSTL;void TestFun(TestForeach a){}for_each(vsSTL.begin(), vsSTL.end(), TestFun);如果TestFun不是全局函数就会编译不过了,想要使用原创 2015-03-19 23:35:03 · 505 阅读 · 0 评论 -
书籍介绍
介绍STL的一些比较特别的地方,注意事项等。需要先了解STL的基本用法并且此书并没有对STL所有特性进行讲解,如果想对STL所有功能了解,看看C++标准库更好对STL一些比较有意思的地方的讲解,类似effective c++等。原创 2015-08-02 18:10:40 · 283 阅读 · 0 评论