map在STL中的定义 template <class Key, class T, class Compare = less<Key>, class Alloc = alloc> ?第一个参数Key是关键字类型 第二个参数T是值类型 第三个参数Compare是比较函数(仿函数) 第四个参数是内存...
分类:
其他好文 时间:
2015-08-20 13:27:54
阅读次数:
249
STL以泛型思维为基础,提供了6大组件:容器(containers)、算法(algorithms)、迭代器(iterators)、仿函数(functors)、适配器(adapters)、分配器(allocators)。容器: vector、list、deque、set、map等,用来存放数据。从实....
分类:
其他好文 时间:
2015-08-04 10:40:27
阅读次数:
91
STL标准模板库作为C++标准库的一部分,其组件包括:容器、算法、迭代器、仿函数、配接器、配置器。
今天来说说容器,容器主要可以分为两种:序列式容器(元素是可序的,但并非有序)、关联式容器。
一、序列式容器
1、vector
1)vector和C/C++的内置数组类似,只不过array空间是静态的,vector的空间则是可以改变的,当元素个数达到空间上...
分类:
其他好文 时间:
2015-07-29 23:10:38
阅读次数:
255
本文摘自别的博客各种语言都有些传递函数的方法:C语言中可以使用函数指针,C++中有函数引用、仿函数和lambda,Objective-C里也有选择器(selector)和block。 不过由于iOS SDK中的大部分API都是selector的方式,所以本文就重点讲述selector了。Object...
分类:
其他好文 时间:
2015-07-26 22:12:33
阅读次数:
182
STL中与堆相关的4个函数——建立堆make_heap(),在堆中添加数据push_heap(),在堆中删除数据pop_heap()和堆排序sort_heap():
头文件 #include
下面的_First与_Last为可以随机访问的迭代器(指针),_Comp为比较函数(仿函数),其规则——如果函数的第一个参数小于第二个参数应返回true,否则返回false。
建立堆
make_heap(_First, _Last, _Comp)
默认是建立最大堆的。对int类型,可...
分类:
其他好文 时间:
2015-07-20 16:43:31
阅读次数:
117
C++11C++14话说新标准出来也蛮久的了, 是时候跟进了, 先试试lamba, 还满好玩。先看看不用lamba, 用仿函数的代码如何:class Acc // functor{public: Acc(int & Uppercase): Uppercase_(Uppercase){} ...
分类:
编程语言 时间:
2015-07-17 11:22:59
阅读次数:
195
转载声明:本文转自网络,稍加整理以备学习和参考之用。
函数对象/仿函数
提到C++ STL,首先被人想到的是它的三大组件:Containers, Iterators, Algorithms,即容器,迭代器和算法。容器为用户提供了常用的数据结构,算法大多是独立于容器的常用的基本算法,迭代器是由容器提供的一种接口,算法通过迭代器来操控容器。接下来要介绍的是另外的一种组件,函数对象(Functi...
分类:
其他好文 时间:
2015-07-01 23:45:31
阅读次数:
486
所谓的适配器就是底层利用仿函数,然后修改仿函数的接口,达到自己的目的;例如:templateclass binder1st的适配器,其本质是一个类,它的模板参数operation其实是仿函数类(仿函数其实是struct类),内部函数调用operator()(const typename Operat...
分类:
其他好文 时间:
2015-06-23 23:10:14
阅读次数:
135
算法概述图的遍历是指访问图中每个节点一次。图的遍历方式主要有两种,一种是深度优先,即能走多远就先走多远的遍历方式,这就意味着,对于每个节点的遍历完后,下一个访问的节点应该是他的邻接点,而不是兄弟节点。另一种方式是深度优先的方式,这是一种分层遍历,对于没一个节点访问完后,就访问它的兄弟节点,而不是优先考虑邻接顶点。深度优先算法使用递归实现比较直观,而广度优先遍历则需要一个栈辅助,和分层遍历一棵二叉树的...
分类:
其他好文 时间:
2015-05-30 12:16:38
阅读次数:
206
仿函数--创建结构体或类的内部函数指针 #include#include#includeusing namespace std;using namespace std::placeholders;//仿函数 创建一个结构体或类的内部函数的函数指针struct MyStruct{ void add( ...
分类:
其他好文 时间:
2015-05-26 21:08:07
阅读次数:
116