函数指针(源自c++ Primer)
来源:互联网 发布:java软件编程课程 编辑:程序博客网 时间:2024/05/16 23:01
函数指针式指向函数而非指向对象的指针。想其他指针一样,函数指针也只想某个特定的类型。函数类型有其返回类型以及形参表确定,而与函数无关:
这个语句是讲pf声明为指向函数的指针,它所指向的函数带有两个const string &类型的参数和bool类型的返回值。
1. typedef 简化函数指针的定义
函数指针相当的冗长。使用typedef 为指针类型定义同义词,可将函数指针的使用大大的简化:
该定义表示cmpFcn是一种指向函数的指针类型的名称。该指针类型为“指向返回bool类型并带两个const string引用形参的函数的指针”。在要直接使用函数指针cmpFcn即可,不必每次都把整个类型声明全部写出来。
2.指向函数指针的初始化和赋值
在应用函数名又没有调用该函数时,函数名将被自动解释向函数的指针。假设有函数:
// compares lengths of two strings
bool lengthCompare(const sting &,const sting &);
除了用作函数的调用的左操作数以外,对lengthCompare的任何使用都被解释为如下类型的指针:
可使用函数名对函数指针做初始化或赋值:
此时,直接引用函数名等效于在函数名上取地址操作符:
cmpFun pf1 = lengthCompare;
3. 通过指针调用函数
指向函数的指针可用于调用它所指向的函数。可以不需要使用解引操作符,直接通过指针调用函数:
4. 函数指针形参
函数的形参可以使指向函数的指针。这种形参可以用以下两种形式编写:
5. 返回指向函数的指针
函数可以返回指向函数的指针,但是正确写出这种返回类型是相当不容易的。
要理解该声明的含义,首先观察:
ff(int)
将 ff 声明为一个函数,它带有int的参数。该函数返回
int (*)(int *, int);
- 函数指针(源自c++ Primer)
- 指向函数的指针(自C++Primer )
- 指向函数的指针(摘自C++Primer
- C primer plus:指向函数的指针
- C++primer学习笔记-----6.7函数指针
- 关于指针(c++primer)
- C++primer 指针(二)
- 【足迹C++primer】14、函数匹配、函数指针
- 指针和数组(c++primer)
- C++primer(六) 数组和指针
- C++primer 4.2 指针(上)
- C++Primer--数组、指针
- C Primer Plus学习 二十 函数、数组和指针
- C Primer Plus学习 五十 函数和指针
- 细嚼慢咽C++primer(3)——引用形参,内联函数,重载函数,指向函数的指针
- C++primer 4.4 数组指针和指针数组(转)
- 函数指针(C++)
- 【C++ Primer】指针函数和函数指针
- silverlight精要--动画效果
- 当迷茫在大学里泛滥成灾……-李开复
- 脑科学与人工智能思考
- 认知神经科学和认识心理学的差异
- JS获取屏幕,浏览器,网页高度宽度
- 函数指针(源自c++ Primer)
- 未来10年互联网的十大发展趋势
- 比较两颗二叉树是否相等
- 未来人类科技发展时间表
- December, 23
- 55
- 泛型DAO
- HTC Diamond2(2)
- 人工智能发展情况调研