Effective STL 学习笔记:19 ~ 20
Effective STL 学习笔记:19 ~ 20
*/-->
div.org-src-container {
font-size: 85%;
font-family: monospace;
}
Table of Contents
1 Item 19: 相等 (Equality) 与等价 (Equivalence)
在 STL 中, 相等 (Equality) 用于 find 算法中,通常通过 \(operator ==\) 来体现。而 等价
(Equivalence) 则经常用于排序,通常用 \(operator
\begin{cases}
& !(w1
2 Item 20: Specify Comparison Type for Associative containers of pointers
对于存放指针的 Associative Containers 而言,如果我们不指定排序算法,则默认按照 指针 大小去排,对象指针我们无法控制,他们在容器中的排列顺序我们也就无法控制。如果我们需要指定其排序顺序,需自己指定 Comparison Type,例如:
class StrLessFunctor
{
public:
StrLessFunctor(){}
virtual ~StrLessFunctor(){}
bool operator()(const string* ps1, const string* ps2)
{
return *ps1 < *ps2;
}
}; int main(int argc, char *argv[])
{
set<string*, StrLessFunctor> ssp;
ssp.insert(new string("Banana"));
ssp.insert(new string("Orange"));
ssp.insert(new string("Apple")); for_each(ssp.begin(), ssp.end(), [](string* s){cout << *s << endl;});
return 0;
}
构造 set 时候指定的第二个模板参试不是一个函数,而是一个类型 (Comparison Type), set 会用该类型来初始化出来一个用于 sort 的函数。
(使用许可:署名-非商业性使用-相同方式共享 3.0 中国大陆许可协议 。)
Effective STL 学习笔记:19 ~ 20的更多相关文章
- Effective STL 学习笔记 32 ~ 33
Effective STL 学习笔记 32 ~ 33 */--> div.org-src-container { font-size: 85%; font-family: monospace; ...
- Effective STL 学习笔记 31:排序算法
Effective STL 学习笔记 31:排序算法 */--> div.org-src-container { font-size: 85%; font-family: monospace; ...
- Effective STL 学习笔记: Item 22 ~ 24
Effective STL 学习笔记: Item 22 ~ 24 */--> div.org-src-container { font-size: 85%; font-family: monos ...
- Effective STL 学习笔记 39 ~ 41
Effective STL 学习笔记 39 ~ 41 */--> div.org-src-container { font-size: 85%; font-family: monospace; ...
- Effective STL 学习笔记 Item 38 : Design functor classes for pass-by-value
Effective STL 学习笔记 Item 38 : Design functor classes for pass-by-value */--> div.org-src-container ...
- Effective STL 学习笔记 Item 34: 了解哪些算法希望输入有序数据
Effective STL 学习笔记 Item 34: 了解哪些算法希望输入有序数据 */--> div.org-src-container { font-size: 85%; font-fam ...
- Effective STL 学习笔记 Item 30: 保证目标区间足够大
Effective STL 学习笔记 Item 30: 保证目标区间足够大 */--> div.org-src-container { font-size: 85%; font-family: ...
- Effective STL 学习笔记 Item 26: Prefer Iterator to reverse_iterator and const_rever_itertor
Effective STL 学习笔记 Item 26: Prefer Iterator to reverse_iterator and const_rever_itertor */--> div ...
- Effective STL 学习笔记 Item 21:Comparison Function 相关
Effective STL 学习笔记 Item 21:Comparison Function 相关 */--> div.org-src-container { font-size: 85%; f ...
随机推荐
- HAOI2018游记
前言 很懒. 太懒了. 不仅懒得写题..连游记都懒得写.. 花点时间填一下坑吧..不过话说我去年的NOI/APIO/CTSC游记也没写.. 省选前 板子好像一早就打完了,没什么可干的. 也不愿意开新题 ...
- 深入了解volatile
volatile关键字经常在并发编程中使用,其特性是保证可见性以及有序性,但是关于volatile的使用仍然要小心,这需要明白volatile关键字的特性及实现的原理,这也是本篇文章的主要内容 一.J ...
- 第10章-Vue.js 项目实战
一.本节内容 掌握项目环境中路由的配置方法 ***** 熟练掌握编写单文件组件的编写 *** 能够使用swiper.js进行轮播图组件的封装 能够使用axios进行数据请求 二.webpack项目的目 ...
- IOS TableView滑动不灵敏问题
TableView的默认的不常用的属性,我们尽量不要去改,如下面标注的几个
- VScode常见问题汇总(持续更新)
1.formatOnSave--保存后自动格式化 根据每个人安装的插件不同,可能问题原因也不同. 我个人的原因是因为JS-CSS-HTML Formatter这个插件,那么 ...
- Jenkins maven 构建乱码,修改file.encoding系统变量编码为UTF-8
一切都是windows的控制台默认编码GBK问题 情景: 使用jenkins构建,console 输出的中文乱码.代码编码格式是utf-8,因为Jenkins会默认读取当前系统的编码格式,导致构建日志 ...
- java 数字转换成字符串
一.各种数字类型转换成字符串型: public static void main(String[] args) { double value = 123456.123; String str = S ...
- 让vcmi支持英雄无敌3中文版
Table of Contents 1 Hack 日志 2 Changes 3 Install by compiling 4 reply of Ivan 1 Hack 日志 8月22日开始动手修改改v ...
- 20155307 2016-2017-2 《Java程序设计》第5周学习总结
20155307 2016-2017-2 <Java程序设计>第5周学习总结 教材学习内容总结 这两章主要讲的是如何处理程序中的异常情况,对于错误,java会将其打包成对象,可以用&quo ...
- 如何在阿里云Centos下安装Nginx
Nginx("engine x")是一款轻量级的HTTP和反向代理服务器.相比于Apache.lighttpd等,它具有占有内存少.并发能力强.稳定性高等优势.它最常见的用途就是提 ...