摘要: 1、Insert iterators 安插型迭代器 可使算法以安插方式而非覆写方式运作。可以解决算法的“目标空间不足”的问题。 安插型迭代器又有三类: I、Back inserters 安插于容器尾端 内部调用push_back,在尾端插入元素。可用的容器有三种:vector、deque、list。back_inserter(container) II、Front inserters 安插与容器前端 内部调用push_front,将元素安插于容器前端,这种动作逆转了被安插元素的次序。可用的容器deque和list。front_inserter(cont... 阅读全文
posted @ 2013-07-03 22:21 极限游乐园 阅读(148) 评论(0) 推荐(0) 编辑
摘要: 仿函数与一般函数的优势: 1、仿函数是“smart functions”(智能型函数) 仿函数可以拥有成员函数和成员变量,即仿函数拥有状态。 2、每个仿函数都有自己的型别 每个仿函数有自己的型别。因此,可以将仿函数的型别当做template参数来传递。 从而指定某种行为模式。 3、仿函数通常比一般函数速度快 就template概念而言,由于更多细节在编译期间就已确定,所以通常可能进行更好 的最佳化。所以,传入一个仿函数,可能获得更好的性能。 一、 针对“仿函数拥有属于自己的独特型别”的例子:class Person { public: std::string get... 阅读全文
posted @ 2013-06-30 22:43 极限游乐园 阅读(644) 评论(0) 推荐(0) 编辑
摘要: 面向过程:面向过程方法认为我们的世界是由一个个相互关联的小系统组成,构成这个系统的各个部分之间有着密不可分的因果关系。 面相对象:面向对象方法将世界看做一个个相互独立的对象,相互之间并无因果关系。只有在摸个外部力量的驱动下,对象之间才会依据某种规律相互传递信息。这些交互构成了这个世界的一个“过程”。 面向对象和面向过程的根本不同,就是面向对象不再把世界看做是一个紧密关联的系统,而是看做一些相互独立的离散的小零件,这些零件依据某种规则组织起来,完成一个特定的功能。 面向对象的三个要点问题: 1、Why,即为什么对象是这样被抽象出来? 2、How,即怎样将对象组合起来? 3、Wha... 阅读全文
posted @ 2013-01-01 09:57 极限游乐园 阅读(514) 评论(0) 推荐(0) 编辑