普通函数指针
函数指针声明
1 | bool lengthCompare(const string&, const string&); |
注意:
- 此时的pf表示这是一个函数指针,而非函数指针类型,如果要表示指针类型需要使用指针别名(见下);
- 当我们把函数名作为一个值使用时,该函数自动转换为指针;
- 当我们使用函数指针调用该函数时,无需提前解引用指针;
使用指针别名
1 | typedef bool(*Func)(const string&,const string&); |
- decltype自动类型推导函数后还是函数,一定要加*
- 使用using定义别名时要注意和typedef存在的区别
- 尽量定义函数指针别名后再使用函数指针形参及返回,否则会降低代码的可读性