摘要:
总结由容器、迭代器、算法和函数对象组成的 STL 是个惯例 运用 STL 编程要知道什么时候使用循环,什么时候使用算法,什么时候使用容器成员函数 要知道 equal_range 什么时候是比 lower_bound 更好的搜索方式 知道 lower_bound 什么时候比 find 更优越,知道 f 阅读全文
posted @ 2018-11-30 18:58
KidyCharon
阅读(365)
评论(0)
推荐(0)
摘要:
假设有一个 Widget* 指针和 list 和一个函数来决定指针是否确定一个有趣的 Widget: 找到第一个有趣的 Widget : 找到第一个不有趣的 Widget: 取而代之,必须对 isInteresting 应用 ptr_fun 在应用 not1 之前: ptr_fun做的唯一的事情是使 阅读全文
posted @ 2018-11-30 16:32
KidyCharon
阅读(148)
评论(0)
推荐(0)
摘要:
1. 判断式是返回 bool (或者其他隐式转换为 bool 的东西)。判断式在 STL 中广泛使用。标准关联容器的比较函数是判断式,判断式函数常常作为参数传给算法,比如 find_if 和多种排序算法。 2. 纯函数是返回值只依赖于参数的函数。如果 f 是一个纯函数, x 和 y 是对象, f(x 阅读全文
posted @ 2018-11-30 14:37
KidyCharon
阅读(154)
评论(0)
推荐(0)
摘要:
C 和 C++ 都不允许把真的函数作为参数传递给其他函数。取而代之,你必须传递指针给函数比如: 作为 cmpfcn 传递的实参是一个指向函数的指针,是从调用端拷贝给 qsort(值传递)。 C和C++标准库都遵循的一般准则: 函数指针是值传递 STL函数对象在函数指针之后成型,所以STL中的习惯是当 阅读全文
posted @ 2018-11-30 14:03
KidyCharon
阅读(168)
评论(0)
推荐(0)
摘要:
有时候需要把整个区间提炼成一个单独的数,比如: count 告诉你区间中有多少等于某个值的元素,而 count_if 告诉你有多少元素满足一个判断式 区间中的最小和最大值可以通过 min_element 和 max_element 获得 accumulate 提供了更加灵活的算法,但需要自己定义判断 阅读全文
posted @ 2018-11-30 11:16
KidyCharon
阅读(279)
评论(0)
推荐(0)
摘要:
STL 提供了 11 个名字带有 “copy” 的算法 copy copy_backward replace_copy reverse_copy replace_copy_if unique_copy remove_copy rotate_copy remove_copy_if partial_so 阅读全文
posted @ 2018-11-30 10:13
KidyCharon
阅读(292)
评论(0)
推荐(0)
摘要:
怎么用 STL 进行忽略大小写的字符串的比较? 首先实现两个字符忽略大小写的比较: 基于 mismatch 算法,确定两个区间中第一个对应的不相同的值的位置 第二种方法 ciStringCompare 是产生一个合适的 STL 判断式:可以在关联容器中用作比较函数的函数,应用STL中名字第二长的算法 阅读全文
posted @ 2018-11-30 09:39
KidyCharon
阅读(224)
评论(0)
推荐(0)

浙公网安备 33010602011771号