函数对象编程模式
2014-11-14 00:00
225 查看
函数对象与函数指针的区别:
函数对象实际上是一个类的对象,不过在使用的时候可以直接使用类名,编译的时候可以内联。
函数指针因为是用了指针,所以在编译的时候不能向内联函数那样在调用地直接展开,需要一定的开销。
函数对象内部需提供operator()操作函数,支持传统函数调用,示例如下:
函数对象实际上是一个类的对象,不过在使用的时候可以直接使用类名,编译的时候可以内联。
函数指针因为是用了指针,所以在编译的时候不能向内联函数那样在调用地直接展开,需要一定的开销。
函数对象内部需提供operator()操作函数,支持传统函数调用,示例如下:
#pragma warning(disable:4101) #include <iostream> #include <vector> #include <string> #include <algorithm> #include <functional> class Function { public: void operator() (int a) { std::cout<<"Hello"<<std::endl; } }; int main() { Function f; f(1); }
相关文章推荐
- 18函数对象&19command模式20函数对象在STL中的应用
- 本文是笔者根据数据库编程经验,利用C++语言的模板、继承、授权、多态等面向对象特性,借鉴命令模式,实现了对象在关系数据中的存储,降低应用系统与数据库之间的耦合,提高开发效率。
- python核心编程-默认函数对象参数
- PHP 面向对象编程和设计模式 (1/5) - 抽象类、对象接口、instanceof 和契约式编程
- JS函数的参数对象arguments在严格模式下的限制
- stl编程概述和函数对象、函数指针
- 主动对象(Active Object):用于并发编程的对象行为模式
- 函数不同调用模式下this所指代的对象
- js基础对象-编程模式与设计模式
- 主动对象(Active Object):用于并发编程的对象行为模式
- 任务和主动对象(Active Object):并发编程模式
- Javascript 设计模式——1.3 函数是一等对象
- javascript创建对象之函数构造模式和原型模式结合使用(四)
- Symbian编程总结-基础篇-活动对象正解(4)-异步函数的同步调用
- C++模板编程及函数对象
- windows编程中关于设置映象模式的四个函数SetWindowOrg SetViewPortOrg SetMapMode SetWindowExtEx SetViewPortExtEx
- Symbian编程总结-了解篇-活动对象正解(4)-异步函数的同步调用
- javascript基础编程の变量、对象、数据类型及函数
- Javascript基础编程の变量、对象、数据类型及函数
- 18函数对象&19command模式20函数对象在STL中的应用