http://www.cnblogs.com/cmptlgg/ 我的博客园重写函数对象的prototype属性值:会切断实例的[[Prototype]]内部属性和最初函数对象的prototype(原型对象)的联系这个例子引用js高级第三版;/*这是高三对此实现的解释。尽管可以随时为原型添加属性和方法...
分类:
其他好文 时间:
2015-07-12 14:06:09
阅读次数:
102
昨天内容回顾面向对象的私有成员、静态成员私有成员:在构造函数里边定义局部变量,就是私有成员。静态成员:在js里边,函数就是对象,可以通过给函数对象声明成员方式声明静态成员。原型继承关键字:prototype单一成员继承: 函数.prototype.成员名称= 值;对象继承:函数.prototype ...
分类:
Web程序 时间:
2015-07-11 15:02:00
阅读次数:
109
通过demo演示了STL中的常用遍历算法for_each和transform的基本使用,然后通过追踪源码得到for_each和transform的本质区别(对函数对象参数的要求)...
分类:
编程语言 时间:
2015-07-10 15:16:50
阅读次数:
173
预定义函数对象基本概念:标准模板库STL提前定义了很多预定义函数对象
1)使用预定义函数对象:
#include
#include
#include
#include
#include
#include
using namespace std;
// plus,预定义好的函数对象,能实现不同类型数据的 + 运算
// 实现了数据类型和算法的分离,通过函数对象技术实现的
void...
分类:
编程语言 时间:
2015-07-10 09:36:17
阅读次数:
139
1) STL的容器通过类模板技术,实现数据类型和容器模型的分离。
2) STL的迭代器技术实现了遍历容器的统一方法;也为STL的算法提供了统一性。
3) STL的函数对象实现了自定义数据类型的算法运算
核心思想:其实函数对象本质就是回调函数,回调函数的思想,就是任务的编写者和任务的调用者有效解耦合,函数指针做函数参数。
4) 具体例子:transform算法的输入,通过迭代器first和l...
分类:
编程语言 时间:
2015-07-10 00:30:47
阅读次数:
275
在上一篇介绍JavaScriptthis关键字的文章中我们提到了闭包这个概念。闭包是指有权访问另一个函数作用域中的变量的函数。从函数对象中能够对外部变量进行访问(引用、更新),是构成闭包的条件之一。创建闭包的常见方式,就是在一个函数内部创建另一个函数。为了理解闭包,先来..
分类:
编程语言 时间:
2015-07-09 22:56:58
阅读次数:
179
demo 二元函数对象
#include
#include
#include
#include
using namespace std;
template
class SumVector
{
public:
T operator()(T t1, T t2) // 二元函数对象
{
return t1 + t2;
}
protected:
private:
};
void...
分类:
编程语言 时间:
2015-07-09 22:45:12
阅读次数:
194
1)函数适配器的理论知识
2)常用函数函数适配器
标准库提供一组函数适配器,用来特殊化或者扩展一元和二元函数对象。常用适配器是:
1、绑定器(binder): binder通过把二元函数对象的一个实参绑定到一个特殊的值上,将其转换成一元函数对象。C++标准库提供两种预定义的binder适配器:bind1st和bind2nd,前者把值绑定到二元函数对象的第一...
分类:
编程语言 时间:
2015-07-09 22:40:57
阅读次数:
144
函数对象: 重载函数调用操作符的类,其对象常称为函数对象(function object),即它们是行为类似函数的对象。一个类对象,表现出一个函数的特征,就是通过“对象名+(参数列表)”的方式使用一个类对象,如果没有上下文,完全可以把它看作一个函数对待。这是通过重载类的operator()来实现的。 函数对象的好处:函数对象属于类对象,能突破函数的概念,能保持调用状态信息...
分类:
编程语言 时间:
2015-07-09 16:22:22
阅读次数:
109
为了实现快速查找,map内部本身就是按序存储的(比如红黑树)。在我们插入键值对时,就会按照key的大小顺序进行存储。Map的定义:1 template , //入参为key2 //键 值 用于key比较的函数对象,与相对的grea...
分类:
编程语言 时间:
2015-07-09 12:55:51
阅读次数:
180