STL源码剖析读书笔记--第6章&第7章--算法与仿函数
老实说,这两章内容还蛮多的,但是其实在应用中一点点了解比较好。所以我决定这两张在以后使用过程中零零散散地总结,这个时候就说些基本概念好了。实际上,这两个STL组件都及其重要,我不详述一方面是自己偷懒,一方面也是觉得没必要讲那么细,要详细看书就好了。
记住几个关键字:效率 通用性
算法是什么?怎么应用算法?
这都要从迭代器讲起,可以看到,所以的算法的输入参数基本都是迭代器,不同的算法的输入参数是不同类型的迭代器,算法能泛化地实现在不同的容器上,迭代器功不可没。
算法必然有一定的应用背景,比如,数值类算法肯定是应用在数值类的容器上,集合类算法一定是实现在集合类容器上了。
算法泛化实现手段是function template。
仿函数是什么?
仿函数说白了就是一种函数指针参数。
以后再好好写吧~
STL源码剖析读书笔记--第6章&第7章--算法与仿函数的更多相关文章
- STL源码剖析读书笔记之vector
		STL源码剖析读书笔记之vector 1.vector概述 vector是一种序列式容器,我的理解是vector就像数组.但是数组有一个很大的问题就是当我们分配 一个一定大小的数组的时候,起初也许我们 ... 
- STL源码剖析读书笔记--第四章--序列式容器
		1.什么是序列式容器?什么是关联式容器? 书上给出的解释是,序列式容器中的元素是可序的(可理解为可以按序索引,不管这个索引是像数组一样的随机索引,还是像链表一样的顺序索引),但是元素值在索引顺序的方向 ... 
- Stl源码剖析读书笔记之Alloc细节
		阅读基础: Foo *pf = new Foo; 执行了两个步骤: 1)::operator new 向系统申请内存. 2) 调用Foo::Foo()构造函数构造实例. ==> 申请内存,构造 ... 
- STL源码分析读书笔记--第二章--空间配置器(allocator)
		声明:侯捷先生的STL源码剖析第二章个人感觉讲得蛮乱的,而且跟第三章有关,建议看完第三章再看第二章,网上有人上传了一篇读书笔记,觉得这个读书笔记的内容和编排还不错,我的这篇总结基本就延续了该读书笔记的 ... 
- (原创滴~)STL源码剖析读书总结1——GP和内存管理
		读完侯捷先生的<STL源码剖析>,感觉真如他本人所说的"庖丁解牛,恢恢乎游刃有余",STL底层的实现一览无余,给人一种自己的C++水平又提升了一个level的幻觉,呵呵 ... 
- c++ stl源码剖析学习笔记(一)uninitialized_copy()函数
		template <class InputIterator, class ForwardIterator>inline ForwardIterator uninitialized_copy ... 
- 重温《STL源码剖析》笔记 第六、七、八章 next_permutation (字典序)
		源码之前,了无秘密 ——侯杰 第六章算法 next_permutation 比如:01342 -> 01423 -> 01432 方法:从尾端开始往前寻找两个相邻的元素,令第一个元素为* ... 
- 重温《STL源码剖析》笔记 第三章
		源码之前,了无秘密. --侯杰 第三章:迭代器概念与traits编程技法 迭代器是一种smart pointer auto_Ptr 是一个用来包装原生指针(native pointer)的对象,声明狼 ... 
- 重温《STL源码剖析》笔记 第二章
		源码之前,了无秘密. --侯杰 第二章:空间配置器 allocator SGI特殊的空间配置器,std::alloc SGI是以malloc()和free()完成内存的配置与释放. SGI设计了双层级 ... 
随机推荐
- Android gingerbread eMMC booting
			Android gingerbread eMMC booting This page is currently under construction. The content of this page ... 
- hdu 5718  Oracle 高精度
			Oracle Time Limit: 8000/4000 MS (Java/Others) Memory Limit: 262144/262144 K (Java/Others) Problem ... 
- 【干货】国外程序员整理的 C++ 资源大全
			关于 C++ 框架.库和资源的一些汇总列表,由 fffaraz发起和维护. 内容包括:标准库.Web应用框架.人工智能.数据库.图片处理.机器学习.日志.代码分析等. 标准库 C++ Standard ... 
- Velocity模板中的注释
			Velocity ——VTL模板中的注释 注释允许在模板中包含描述文字,而这些文字不会被放置到模板引擎的输出中.注释是一种有效的提醒自己和向别人解释你的VTL语句要做什么事情的方法.你也可以把注释用来 ... 
- Innodb物理存储结构系列2 行记录格式
			前一篇讨论了Innodb system,表空间,文件的关系及数据结构,这一篇记录下Innodb行记录的格式. 前提: 1. server层和innodb层都有自己对于record的记录格式,需要进行转 ... 
- 使用Jenkins构建持续集成环境
			简介 Jenkins是一个开源的持续集成工具,提供了数百种插件供用户选择,能够完成整套持续集成环境的构建. 它具有如下的特点: 持续集成和持续发布 作为可扩展的自动服务器,Jenkins可以作为简单的 ... 
- Qt之模型/视图(自定义进度条)
			简述 在之前的章节中分享过关于QHeaderView表头排序.添加复选框等内容,相信大家模型/视图.自定义风格有了一定的了解,下面我们来分享一个更常用的内容-自定义进度条. 实现方式: 从QAbstr ... 
- android漂亮的对话框项目sweet-alert-dialog
			漂亮的对话框 sweet-alert-dialog 项目地址: https://github.com/pedant/sweet-alert-dialog android原生的dialog太生硬了, ... 
- UVALive 3989 Ladies' Choice(稳定婚姻问题:稳定匹配、合作博弈)
			题意:男女各n人,进行婚配,对于每个人来说,所有异性都存在优先次序,即最喜欢某人,其次喜欢某人...输出一个稳定婚配方案.所谓稳定,就是指未结婚的一对异性,彼此喜欢对方的程度都胜过自己的另一半,那么这 ... 
- Wireshark基本介绍和学习TCP三次握手(转)
			http://www.cnblogs.com/TankXiao/archive/2012/10/10/2711777.html 之前写过一篇博客:用 Fiddler 来调试HTTP,HTTPS. 这篇 ... 
