博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
指向函数的指针
阅读量:4982 次
发布时间:2019-06-12

本文共 736 字,大约阅读时间需要 2 分钟。

 

void scheduleOnce

(

 

selector,

   

float 

delay 

 

)

   

就是在delay秒以后执行selector函数

此处的SEL_SCHEDULE就是一个函数指针类型

typedef void(Ref::* SEL_SCHEDULE)(float)

 

函数指针的声明与使用

C++Primer上的例子

bool (*pf)(const string &, const string &);

这样 pf 就是一个 返回bool类型 参数是两个 const string &的形参 函数指针

 

其实这个定义并不太陌生

我们以前会在main函数前 先声明一些函数,然后在main函数后面才实现。

void printInt(int);

int main(){

    printInt(5);

    return 0;

}

void printInt(int n){

    printf("%d\n",n);

}

 

这里的函数定义处 其实就定义了一个 void (*)(int) 类型的指针

 

现在

void printInt(int);

 

int main(){

void (*ppp)(int);

    ppp = printInt;

    ppp(5);

    return 0;

}

void printInt(int n){

    printf("%d\n",n);

}

其实挺简单的。

 

关于函数指针的理解

指针就是指向内存的索引。

代码和数据一样,也存在内存里面,函数也有地址,所以指针能指向函数,一点也不奇怪。

那么函数指针定义是为什么需要 定义参数和返回值, 这是保证函数指针能正确的匹配函数。

转载于:https://www.cnblogs.com/rocbomb/p/4055685.html

你可能感兴趣的文章
Mycat SqlServer 技术栈 实现 主从分离
查看>>
为何要学编程?如何学编程?用什么语言最好?有什么好书?
查看>>
剑指Offer的学习笔记(C#篇)-- 反转链表
查看>>
百度star2012初赛第一场的题目
查看>>
武汉第二十七天
查看>>
最长公共子序列
查看>>
MFC 鼠标去留
查看>>
【原创】关于oracle11G空表无法导出问题的解决方法
查看>>
16进制的简单运算
查看>>
速读《Javascript模式》(一)(简介、var的变量提升以及es6新规范的let)
查看>>
DM8168集成图像算法
查看>>
GDI编程小结
查看>>
nalply/crtmpserver
查看>>
jquery 遍历节点
查看>>
工具选择
查看>>
(转)C#实现RSA非对称加密解密
查看>>
迅为iTOP-4412开发板-Android4.4-固定MAC
查看>>
centos下,安装MySQL以及配置远程连接等
查看>>
获取硬盘和CPU的序列号
查看>>
Python全栈开发 day2 - 数据类型详解
查看>>