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

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

本文为笔者阅读《C++必知必会》一书的技术笔记

将一个函数的地址初始化或赋值给一个指向函数的指针时,无需显式地取得函数地址,编译器知道隐式地获得函数的地址,因此在这种情况下&操作符是可选的,通常省略不用。如下:

 
1
void
(
*
fp)(
int
);
2
3
extern
void
h(
int
);
4
extern
int
f(
int
);
5
fp
=
f
//
&f的类型为 int (*)(int)而不是 void (*)(int)
6
fp
=
h;
//
OK
7
fp
=
&
h;
//
OK,明确赋予函数地址

类似地,为了调用函数指针所指向的函数而对指针进行解引用操作也是不必要的,因为编译器可以帮你解引用:

 
(
*
fp)(
12
);
//
显式地解引用
fp(
12
);
//
隐式地解引用,结果相同

声明函数指针的数组:

 
1
int
(
*
afp[N])();
//
一个具有N个元素的数组,其元素类型为指向“返回值为int“的函数的指针
2
//
typedef 闪亮登场
3
typedef
int
(
*
FP)();
4
FP afp[N];

转载于:https://www.cnblogs.com/cmleung/archive/2011/05/24/2056057.html

你可能感兴趣的文章
java 泛型
查看>>
VC NetShareAdd的用法
查看>>
java web项目中后台控制层对参数进行自定义验证 类 Pattern
查看>>
图论学习一之basic
查看>>
Java的Array和ArrayList
查看>>
记录Ubuntu 16.04 安装Docker CE
查看>>
安东尼奥·维瓦尔第——巴洛克音乐的奇葩
查看>>
pandas的增删改查
查看>>
HDU 5933/思维
查看>>
字节对齐
查看>>
Design Tic-Tac Toe
查看>>
SQL中的去重操作
查看>>
uva 12097 - Pie(二分,4级)
查看>>
mongodb索引
查看>>
nginx源码学习资源(不断更新)
查看>>
【bzoj2882】工艺 后缀自动机+STL-map
查看>>
[redis] redis
查看>>
Linux的加密认证功能以及openssl详解
查看>>
[Tools] 使用XP远程登录Win8系统
查看>>
【RL-TCPnet网络教程】第38章 TFTP简单文件传输基础知识
查看>>