c++函数指针的用法
时间: 2023-11-23 19:55:29 浏览: 110
C++函数指针是指向函数的指针变量,可以将函数指针作为参数传递给其他函数,也可以将函数指针作为返回值返回。以下是C++函数指针的用法示例:
1. 定义函数指针类型
```c++
typedef bool (*fp)(const string &, const string &);
```
2. 定义函数指针变量
```c++
bool compareLength(const string &s1, const string &s2) {
return s1.length() < s2.length();
}
fp fp1 = compareLength;
```
3. 将函数指针作为参数传递给其他函数
```c++
void sortStrings(vector<string> &vec, fp compare) {
sort(vec.begin(), vec.end(), compare);
}
vector<string> vec = {"hello", "world", "cpp", "function", "pointer"};
sortStrings(vec, fp1);
```
4. 将函数指针作为返回值返回
```c++
fp getCompareFunction(bool flag) {
if (flag) {
return compareLength;
} else {
return compareAlphabet;
}
}
fp fp2 = getCompareFunction(true);
```
阅读全文