函数指针
来源:互联网 发布:otsu算法 opencv 编辑:程序博客网 时间:2024/06/06 07:42
返回值 (*funPtr)(参数列表);
将一个函数的地址初始化或赋值给一个指向函数的指针时,无需显示地取得函数地址,编译器知道隐式的获得函数的地址。因此&通常省略不用。
类似地,为了调用函数指针所指向的函数而对指针进行解引用操作也是不必要的,编译器可以帮助你解引用。
eg.
void (*fp) (int);
extern void h (int);
fp = h; // ok
fp = &h; //ok
(*fp)(12);
fp(12);
Note:非静态的成员函数的地址不是一个指针,因此不可以将一个函数指针指向一个非静态成员函数。
函数指针最常用来作为回调机制。标准库中,好几个地方使用了回调机制,最突出的就是被set_new_handler用于设置回调。当全局operator new函数无法履行一个内存分配请求时,该回调函数即被调用。
eg.
void begForgiveness()
{logError(“Sorry!”);
throwstd::bad_alloc();
}
std::new_handler oldHandler = std::set_new_handler(begForgiveness);
//标准类型名称new_handler 是一个typedef:
typedef void (* new_handler)();
- 指针函数 函数指针
- 函数指针/指针函数
- 指针函数&函数指针
- 函数指针 指针函数
- 函数指针 指针函数
- 指针函数,函数指针
- 函数指针,指针函数,
- 指针函数,函数指针
- 函数指针 指针函数
- 函数指针、指针函数
- 指针函数&函数指针
- 函数指针 指针函数
- 函数指针 指针函数
- 函数指针&指针函数
- 指针函数 函数指针
- 指针函数 &函数指针
- 函数指针&指针函数
- void指针 函数指针
- kill后经常用到的信号主要如下:
- python decorator
- 如何操作xlsx结尾文件,使其写入文本
- thread.start和 thread.run 的区别
- linux初次使用切换为root用户
- 函数指针
- 如何分析命令行参数【转】
- 快速排序
- codeblocks 编译自动追加优化选项
- MySQL查找SQL耗时瓶颈 SHOW profiles
- ios平台静态库大小裁减
- 使用 JavaMail 发送电子邮件,适合多种电子邮箱地址充当发送者
- vs中怎么去链接一个库文件(ws2_32.lib)
- 合并iOS设备与模拟器库