c++++ 中的函数指针是指向函数的变量,允许将函数作为参数传递。使用函数指针可以通过定义它们,将函数名或 lambda 表达式赋给它们,并像调用普通函数一样调用它们。函数指针广泛应用于函数器,如排序函数器,允许在运行时创建和使用排序函数。
C++ 中函数指针的定义和用法
函数指针是一种指向函数的变量。它提供了将函数作为参数传递的能力,并在运行时调用函数的灵活性。
定义函数指针
在 C++ 中,函数指针可以如下定义:
returntype (*function_ptr_name)(param_type1, param_type2, ...);
登录后复制
例如,定义一个指向接受两个整数参数并返回整数的函数的指针:
立即学习“C++免费学习笔记(深入)”;
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
登录后复制
以上就是C++ 中函数指针的定义和用法的详细内容,更多请关注【创想鸟】其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。
发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2577292.html