`
zuroc
  • 浏览: 1290143 次
  • 性别: Icon_minigender_1
  • 来自: 江苏
社区版块
存档分类
最新评论

Function object(函数对象)

    博客分类:
  • C++
阅读更多

学习《C++ Primer》的笔记

函数指针的一种替代策略是Function object(函数对象)。

函数对象与函数指针相比较有两个方面的优点:首先如果被重载的调用操作符是inline函数则编译器能够执行内联编译,提供可能的性能好处;其次函数对象可以拥有任意数目的额外数据,用这些数据可以缓冲结果,也可以缓冲有助于当前操作的数据。

函数对象是一个类,它重载了函数调用操作符operator() ,该操作符封装了一个函数的功能。典型情况下函数对象被作为实参传递给泛型算法,当然我们也可以定义独立的函数对象实例。

来看一个例子:

#include<vector>
#include<string>
#include<iostream>
#include<algorithm>
using namespace std;
class Sum {
int val;
public:
Sum(int i) :val(i) { }

//当在需要int的地方,Sum将自动转换为int类型
//这里是为了方便cout<</algorithm></iostream></string></vector>
 
分享到:
评论

相关推荐

    FunctionObject_函数对象

    FunctionObject_函数对象

    JavaScript中Function函数与Object对象的关系

    注意:官方定义: 在Javascript中,每一个函数实际上都是一个函数对象. 我们先来看最简单的两个代码,也是最容易理解的. function fn(){} var obj = {} console.log(fn instanceof Function)//true conso

    浅谈Javascript中的Function与Object

    Object是最顶层的对象,所有的对象都将继承Object的原型,你也要知道Object也是一个函数对象,所以说Object是被Function构造出来的。 Function 与Object 关系图: 代码如下: [removed] var Foo= function(){} var ...

    浅谈Javascript中Object与Function对象

    1.Object对象  原型对象  原型是对象的一个属性,也就是prototype属性,每个对象都有这个内部属性,而且他本身也是一个对象。 [removed] Object.prototype.num= 10; alert&#40;"添加原型对象属性:"+ Object....

    理解Javascript_08_函数对象

    由此可知函数对象是由Function这个函数对象构造出来的。 注:Function对象本身也是一个函数,因此它也一个函数对象。关于Function的深入理解,请见后续博文。 正面我们来看一段代码: 代码如下: //定义方式一 ...

    PHP对象转换为数组函数(递归方法)

    复制代码 代码如下: function object_to_array($obj) { $_arr = is_object($obj) ? get_object_vars($obj) : $obj; foreach ($_arr as $key =&gt; $val) { $val = (is_array($val) || is_object($val)) ? object_to_...

    利用函数返回oracle对象表的三种方法

    因为要返回表对象,无论后续用什么方法返回,都先要声明全局type;并且,字段变量类型要为object,不能为record: create or replace type t_test as object( EMPNO NUMBER(4), ...create or replace function

    Ajax原理详解

    Function对象的构造函数可以创建函数对象 Object对象是所有对象的基础,任何其他对象都是从Object对象扩展而来 当一个这样的内部函数在包含它们的外部函数之外被调用时,就会形成闭包。闭包可以读取函数内部的变量,...

    javascript面象对象编程

    函数对象和其它内部对象的关系 – 对于Function, Object, Array, Date, RegExp, Math, Error等内部对象 可使用new操作来返回一个对象实例 三、类 1. 实现 2. 公有成员,私有成员,静态成员 3. 类的继承

    [hook.js]通用Javascript函数钩子

    context[Object|opt]:目标函数所在对象,用于hook非window对象下的函数,如String.protype.slice,carInstance1 methodName[String|opt]:匿名函数需显式传入目标函数名eg:this.Begin = function(){....}; } [bool]...

    遗传算法目标函数、适应度函数与遗传算法工具箱简介.pdf

    目标函数Object function和适应度函数Fitness function是不一样的概念,有时为了方便后续计算在适应度函数中做些 拉伸,取反,什么的。 目标函数是你求解的优化变量的函数形式;而适应度函数是你求解的优化变量的一...

    JavaScript中object和Object的区别(详解)

    JavaScript中object和Object有什么区别,为什么用typeof检测对象,返回object,而用instanceof 必须要接Object呢 ...如果 new 表达式之后的构造函数返回的不是JavaScript内置的引用对象(Object,String等)n

    理解Javascript_09_Function与Object

    Function 首先回顾一下函数对象的概念,函数就是对象,代表函数的对象就是函数对象。所有的函数对象是被Function这个函数对象构造出来的。也就是说,Function是最顶层的构造器。它构造了系统中所有的对象,包括用户...

    【JavaScript源代码】五句话帮你轻松搞定js原型链.docx

     原型链是一种机制,指的是JavaScript每个对象包括原型对象都有一个内置的[[proto]]属性指向创建它的函数对象的原型对象,即prototype属性。 作用:原型链的存在,主要是为了实现对象的继承。 一、 记住以下5句话...

    group-object:将对象键和值分组到列表中

    组对象 ... acc {Object} :传递给setter函数的可选累加器对象。 returns {Object} :对象包含组作为键,对象列表作为组中的值。 例子 function grouper ( acc , value , key , obj , setter ) {

    js如何打印object对象

    js调试中经常会碰到输出的内容是对象而无法打印的时候,光靠alert只能打印出object标示,却不能打印出来里面的内容,甚是不方便,于是各方面整理总结了如下一个函数,能够将数组或者对象这类的结果一一打印出来,...

    JavaScript中的Object对象学习教程

    Object 对象分配到的变量名称。  (2)值 可选。任一 JavaScript 基元数据类型(数字、布尔值或字符串)。 如果值是一个对象,则返回的对象是未修改的。 如果值是 null、“未定义”或“未提供”,则创建无内容的...

    JS中Object对象的原型概念基础

    创建对象方式 字面量方式 new 构造函数函数声明 Object.create 字面量对象 javascript语言级别快速创建对象的实例 var obj = {foo: 'foo', bar: 'bar'}; // Object对象字面量 var obj2 = [obj, 'foo', 'bar']; // ...

    vue源码学习之Object.defineProperty对象属性监听

    本文介绍了vue源码学习之Object.defineProperty对象属性监听,分享给大家,具体如下: 参考版本 vue源码版本:0.11 相关 vue实现双向数据绑定的关键是 Object.defineProperty ,让我们先来看下这个函数。 在MDN上...

Global site tag (gtag.js) - Google Analytics