文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>C++中的函数指针

C++中的函数指针

时间:2011-05-24  来源:Mr.Late

本文为笔者阅读《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];
相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载