C++函数指针
来源:互联网 发布:js img onload 编辑:程序博客网 时间:2024/06/05 18:25
一、基本语法
现有一函数如下
void foo(int a, int b){ cout << a + b << endl;}
1、直接定义函数指针
void (*pf)(int, int); // 定义函数指针变量pfpf = foo; // 赋值使其指向函数foo --- (1)pf = &foo; // 赋值使其指向函数foo --- (2) // (1)与(2)均okpf(6, 7); // 通过函数指针调用函数:输出13 --- (3)(*pf)(6, 7); // 通过函数指针调用函数:输出13 --- (4) // (3)与(4)均ok
2、利用类型别名定义
typedef void (*FunPtr)(int, int); // 定义函数指针类型别名
FunPtr pf; // 定义函数指针变量pfpf = foo; // 赋值使其指向函数foo --- (1)pf = &foo; // 赋值使其指向函数foo --- (2) // (1)与(2)均okpf(6, 7); // 通过函数指针调用函数:输出13 --- (3)(*pf)(6, 7); // 通过函数指针调用函数:输出13 --- (4) // (3)与(4)均ok
二、const 函数指针
C++不支持const函数指针,我们只能定义非const函数指针变量。
以下是我在VS2010中试图定义const函数指针变量时报的错:
void (const *pf)(int, int); // error C2143: syntax error : missing ')' before 'const' // error C2059: syntax error : ')'
当我试图利用typedef定义const函数指针类型时,报错如下:
typedef void (const *FunPtr)(int, int); // error C2059: syntax error : '<cv-qualifer>'
具体可参考如下文章:
http://stackoverflow.com/questions/1117873/pointer-to-const-vs-usual-pointer-for-functions
0 0
- C指针函数 && 函数指针
- C++----函数&函数指针
- C++,C函数指针
- C/C++:函数指针
- 【c/c++】指针函数和函数指针
- 【C和指针】函数指针
- 《c和指针》函数指针
- c语言函数指针
- C/C++函数指针
- C语言函数指针
- [C]函数指针数组
- C 函数指针
- C 函数指针数组
- c 函数指针
- c/c++函数指针
- c 函数指针
- c中的函数指针
- c函数指针
- C++之STL中set的用法总结
- Linux 软件看门狗 watchdog
- 安卓学习记录
- (推荐)Android 编程下的 TraceView 简介及其案例实战
- java中的IO整理
- C++函数指针
- HDU 5229 ZCC loves strings
- hdu 1258 Sum It Up(dfs)
- 实现字典树Trie的基本操作
- Forward&Redirect
- Hadoop之—— Linux搭建hadoop环境(简化篇)
- 详解Java中Map用法
- Ubuntu 1404 安装 TL-WN725N v2
- DOM 可被 JavaScript 用来读取、改变 HTML、XHTML 以及 XML 文档。