C++ 中函数指针的定义和用法

c++++ 中的函数指针是指向函数的变量,允许将函数作为参数传递。使用函数指针可以通过定义它们,将函数名或 lambda 表达式赋给它们,并像调用普通函数一样调用它们。函数指针广泛应用于函数器,如排序函数器,允许在运行时创建和使用排序函数。

C++ 中函数指针的定义和用法

C++ 中函数指针的定义和用法

函数指针是一种指向函数的变量。它提供了将函数作为参数传递的能力,并在运行时调用函数的灵活性。

定义函数指针

在 C++ 中,函数指针可以如下定义:

returntype (*function_ptr_name)(param_type1, param_type2, ...);

例如,定义一个指向接受两个整数参数并返回整数的函数的指针:

int (*add_pointer)(int, int);

初始化函数指针

可以通过将函数名赋给函数指针来初始化它:

add_pointer = add; // 假设 add 是一个接收两个整数并返回整数的函数

或者,可以使用 lambda 表达式创建函数指针:

add_pointer = [](int a, int b) -> int { return a + b; };

调用函数指针

可以像调用普通函数一样调用函数指针:

int result = add_pointer(10, 20);

实战案例:排序函数器

函数指针的一个常见应用是函数器,它允许在运行时创建和使用排序函数。例如,以下代码使用函数指针实现带比较函数的 std::sort

#include #include #include int main() {  std::vector numbers = {3, 1, 5, 2, 4};  // 定义比较函数指针  int (*compare_func)(int, int) = [](int a, int b) -> bool {    return a < b;  };  // 使用函数指针排序  std::sort(numbers.begin(), numbers.end(), compare_func);  // 输出排序后的结果  for (const auto& number : numbers) {    std::cout << number << ' ';  }  return 0;}

以上就是C++ 中函数指针的定义和用法的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1446972.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年12月18日 00:06:58
下一篇 2025年12月18日 00:07:08

相关推荐

发表回复

登录后才能评论
关注微信