函数指针(Function Pointer):
- 定义: 函数指针是指向函数的指针,它存储了函数的地址。函数的二制制代码存放在内存四区中的代码段,函数的地址它在内存中的开始地址。如果把函数的地址作为参数,就可以在函数中灵活的调用其它函数。
- 用途: 函数指针可以用来在运行时动态选择调用哪个函数,或者将函数作为参数传递给其他函数。
使用函数指针的三个步骤:
a)声明函数指针;
b)让函数指针指向函数的地址;
C)通过函数指针调用函数。
// 声明一个函数指针
int (*add)(int, int);
// 将函数地址赋给函数指针
add = ∑
// 使用函数指针调用函数
int result = add(3, 4);
回调函数是一种在编程中常见的概念,它是指一个函数作为参数传递给另一个函数,并在特定事件发生时被调用。
void show(void (*pf)()){
pf();
}
void zs(){
cout << "我是大爸爸"<<endl;
}
void ls(){
cout << "我是小爸爸"<<endl;
}
int main(){
show(zs);
show(ls);
}
传参方式1:
void show(void (*pf)(int)){
int c =0;
pf(c);
}
void zs(int a){
cout << "我是大爸爸"<<endl;
}
void ls(int b){
cout << "我是小爸爸"<<endl;
}
int main(){
show(zs);
show(ls);
}
传参方式1:
void show(void (*pf)(int),int c){
pf(c);
}
void zs(int a){
cout << "我是大爸爸"<<endl;
}
void ls(int b){
cout << "我是小爸爸"<<endl;
}
int main(){
int c=0;
show(zs,c);
show(ls,c);
}
指针函数
指针函数是指返回类型为指针的函数。它与一般的函数不同,因为它的返回值是一个指针,而不是基本数据类型或结构体。
指针函数的使用场景可能包括:
动态内存分配: 返回指向动态分配内存的指针,允许在堆上分配内存。
返回数组或字符串: 返回指向数组或字符串的指针,这在处理字符串或数组时很有用。文章来源:https://www.toymoban.com/news/detail-810047.html
函数指针返回类型: 在某些情况下,函数指针也可以被认为是一种指针函数。函数指针指向函数而不是数据,但它们的返回类型是指针。文章来源地址https://www.toymoban.com/news/detail-810047.html
#include <iostream>
// 定义一个指针函数,返回整数指针
int* createInteger() {
int* ptr = new int; // 在堆上分配内存
*ptr = 42; // 设置指针指向的值
return ptr; // 返回指针
}
int main() {
// 调用指针函数,得到一个整数指针
int* result = createInteger();
// 使用指针指向的值
std::cout << "Value created by pointer function: " << *result << std::endl;
// 记得释放在堆上分配的内存
delete result;
return 0;
}
到了这里,关于函数指针和回调函数 以及指针函数的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!