![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
effective stl
文章平均质量分 85
卢然小子
这个作者很懒,什么都没留下…
展开
-
effective STL 读书笔记——第三章:关联容器
条款19:了解相等和等价的区别相等:一般表示operator==操作符返回true 等价:一般用于关联容器,表示两个对象x和y如果在关联容器c的排序顺序中没有哪个排在另一个之前,一般以Operator<实现,如过x和y是关联容器c,其比较函数为key_comp,则表示x和y等价的表达式如下:!c.key_comp()(x, y) && !c.key_comp()(y, x);//在c的排序顺序中如原创 2017-05-11 00:18:09 · 401 阅读 · 0 评论 -
effective STL 读书笔记——第四章:迭代器
条款26:尽量用iterator代替const_iterator,reverse_iterator和const_reverse_iterator1.四个迭代器的转换关系iterator可以转换为其他三个迭代器,const的迭代器之间可以相互转换,但const的迭代器不能转换为非const的迭代器反向迭代器可以通过调用base来获取对应的正向迭代器2.尽量使用iterator的理由insert和e原创 2017-05-13 20:59:34 · 369 阅读 · 0 评论 -
effective STL 读书笔记——第五章:算法
条款30:确保目标区间足够大STL容器在被添加时(通过insert、push_front、push_back等)自动扩展它们自己来容纳新对象。但是标准STL并不总是为你进行区间的扩充——当你是用了错误的迭代器时,下面这段代码存在致命的错误:int transmogrify(int x); // 这个函数从x// 产生一些新值vector<int> values;... // 把数据放入valu原创 2017-05-14 19:06:27 · 444 阅读 · 0 评论 -
effective STL 读书笔记——第二章:vector和string
条款13:尽量使用vector和string来代替动态分配的数组理由如下:通过vector、string代替动态分配的数组,你可以享受标准stl算法库的好处你不需要考虑何时放内存,不会存在麻烦的内存泄露问题你不需要考虑到底是用delete还是delete[],也不需要顾虑资源重复释放的问题使用容器代替动态分配的数组可能在以下2个地方存在问题:由于STL实现的string可能存在引用计数,在原创 2017-05-09 00:24:45 · 493 阅读 · 0 评论 -
effective STL 读书笔记——第一章:容器
条款1:仔细选择你的容器常见容器:标准STL序列容器:vector、string、deque和list标准STL关联容器:set、multiset、map和multimap非标准序列容器:slist和rope非标准关联容器:hash_set、hash_multiset、hash_map和hash_multimap标准非STL容器:bitset、valarray、stack、queue和pri原创 2017-05-08 22:21:30 · 484 阅读 · 0 评论