• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >C语言 > C++中的函数指针与函数对象的总结

C++中的函数指针与函数对象的总结

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-28

通过本文主要向大家介绍了c++ 函数指针,c++ 函数返回指针,c++引用和指针的区别,c++指针,c++指针详解等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

篇一、函数指针
函数指针:
是指向函数的指针变量,在C编译时,每一个函数都有一个入口地址,那么这个指向这个函数的函数指针便指向这个地址。

函数指针的用途是很大的,主要有两个作用:用作调用函数和做函数的参数。

函数指针的声明方法:
数据类型标志符 (指针变量名) (形参列表);
一般函数的声明为:
int func ( int x );
而一个函数指针的声明方法为:
int (*func) (int x);
前面的那个(*func)中括号是必要的,这会告诉编译器我们声明的是函数指针而不是声明一个具有返回型为指针的函数,后面的形参要视这个函数指针所指向的函数形参而定。
然而这样声明我们有时觉得非常繁琐,于是typedef可以派上用场了,我们也可以这样声明:
typedef int (*PF) (int x);
PF pf;
这样pf便是一个函数指针,方便了许多。当要使用函数指针来调用函数时,func(x)或者  (*fucn)(x) 就可以了,当然,函数指针也可以指向被重载的函数,编译器会为我们区分这些重载的函数从而使函数指针指向正确的函数。
例子:

篇二、函数对象
前面是函数指针的应用,从一般的函数回调意义上来说,函数对象和函数指针是相同的,但是函数对象却具有许多函数指针不具有的有点,函数对象使程序设计更加灵活,而且能够实现函数的内联(inline)调用,使整个程序实现性能加速。

函数对象:这里已经说明了这是一个对象,而且实际上只是这个对象具有的函数的某些功能,我们才称之为函数对象,意义很贴切,如果一个对象具有了某个函数的功能,我们变可以称之为函数对象。
如何使对象具有函数功能呢,很简单,只需要为这个对象的操作符()进行重载就可以了,如下:
</div>

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 浅析C++中的函数与指针
  • 深入解读C++中的指针变量
  • C++基础入门教程(九):函数指针之回调
  • C++基础入门教程(八):函数指针
  • C++普通函数指针与成员函数指针实例解析
  • c++将引用或者是指针作为函数参数实现实参的运算
  • c++函数指针和回调函数示例
  • c++函数指针使用示例分享
  • C++指针作为函数的参数进行传递时需要注意的一些问题
  • C++中的对象指针总结

相关文章

  • 2017-05-28浅谈C语言函数调用参数压栈的相关问题
  • 2017-05-28C语言中函数与指针的应用总结
  • 2017-05-28VC打印word,excel文本文件的方法
  • 2017-05-28C++设计模式之简单工厂模式实例
  • 2017-05-28详解图的应用(最小生成树、拓扑排序、关键路径、最短路径)
  • 2017-05-28C++设计模式之工厂模式
  • 2017-05-28对比C语言中getc()函数和ungetc()函数的使用
  • 2017-05-28c语言网络编程-标准步骤(改进版)
  • 2017-05-28最大子矩阵问题实例解析
  • 2017-05-28Prim(普里姆)算法求最小生成树的思想及C语言实例讲解

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • Windows窗口消息实例详解
    • VC程序在Win32环境下动态链接库(DLL)编程原理
    • C语言数据类型转换(自动类型转换+强制类型转换)
    • c++ 尽量不要使用#define 而是用const、enum、inline替换。
    • VC使用编译时间作为版本号标识的方法
    • VC判断一个文件为目录的方法
    • 基于c中使用ftruncate()前需要fflush(),使用后需要rewind()的深入探讨
    • C语言实现二叉树遍历的迭代算法
    • C++文件上传、下载工具
    • C++针对bmp格式解析实例

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有