摘要:
不是所有的算法可以用于任意区间,比如: 1. remove 需要前向迭代器和可以通过这些迭代器赋值能力,所以不能应用于输入迭代器的划分区间,也不能是 map 或 multimap,也不能是 set 和 multiset 的一些实现。 2. 很多排序算法需要随机访问迭代器,所以不能在一个 list ( 阅读全文
posted @ 2018-11-29 19:44
KidyCharon
阅读(123)
评论(0)
推荐(0)
摘要:
提防在指针的容器上使用类似 remove 的算法,容易造成内存泄漏。 选择处理动态分配指针的容器: 通过引用计数的智能指针 在调用类似 remove 的算法之前手动删除和废弃指针等 阅读全文
posted @ 2018-11-29 18:24
KidyCharon
阅读(105)
评论(0)
推荐(0)
摘要:
remove 的声明: remove 接收指定它操作的元素区间的一对迭代器,不接收一个容器,所以不知道作用与哪个容器 remove 并不 “真的” 删除东西,因为它做不到 从容器中除去一个元素,唯一的方法是调用那个容器的一个成员函数,几乎都是 erase 的某种形式 remove 移动指定区间中的元 阅读全文
posted @ 2018-11-29 17:49
KidyCharon
阅读(259)
评论(0)
推荐(0)
摘要:
排序出 20 个质量最高的 Widget,一种算法叫作 partial_sort: 选出任意 20 个质量最好的 widget(不排序),使用算法 nth_element: 选出前两个最好等级的元素,使用算法 partition: 完成后,widgets.begin() 到goodEnd的区间容纳了 阅读全文
posted @ 2018-11-29 15:18
KidyCharon
阅读(153)
评论(0)
推荐(0)
摘要:
算法章: 1. 演示一些比较少见的算法使你的生活变得简单 2. 演示怎么避免算法常见的问题 STL 容器插入对象会出现的问题: 出现的问题:transform 被告知它的目的区间是从 results.end() 开始的, 而 *results.end() 没有对象,所以不存在对象的赋值 把 tran 阅读全文
posted @ 2018-11-29 13:56
KidyCharon
阅读(176)
评论(0)
推荐(0)

浙公网安备 33010602011771号