美文网首页
C++:函数指针

C++:函数指针

作者: 是枯木呀 | 来源:发表于2021-02-19 17:24 被阅读0次

函数指针:是一个特殊的指针,用于指向函数。
和通过函数名调用一样,函数指针给我们提供了另一种调用函数的可能。函数指针具备变量的特性,可以作为参数传递,可以函数返回。

1. 普通指针的写法

int *p;  //指针p,指向int类型的变量

2. 函数指针的写法

第一步:准备一个函数func()。

  • 函数名: func()
  • 参数列表:int a
  • 返回值:void
void func(int a){
    cout << "a = " << a << endl;  //输出a的值
}

第二步: 定义一个函数指针p

  • (*p) :定义指针p
  • (int a) :函数func()的参数列表int a
  • void :与函数func()的返回类型void相同
  • func:等号右边的函数不加()
# 定义一个指针p,指向函数func()。与普通指针不同的是,函数指针p有参数列表和返回值
void (*p)(int a) =  func;

第三步:调用函数指针p

p(10);   //参数a的值是10,返回值为void

3. 函数指针的完整程序

(该程序在使用到命名空间std时加上了std::,没有在程序开通引入命名空间std)

#include <stdio.h>
#include <iostream>

//定义函数func()
void  func(int a){
    std::cout << "a = " << a <<std::endl;
}

void main(){
    void(*p)(int a) = func;  //定义函数指针p,指向函数func()
    p(10);  //调用函数指针p,参数为10
}

输出结果为:

a = 10

相关文章

  • C++函数指针和Swift的函数对象

    C++函数指针和Swift的函数对象 在C++中学习函数指针式非常痛苦的事情,而在Swift里面学习函数指针则是非...

  • 函数指针与返回函数指针的函数

    转载自C++:函数指针 & 返回函数指针的函数 - 简书 (jianshu.com)[https://www.ji...

  • 18/4 lambda表达式

    比较函数指针、函数符和lambda函数 cout_if() 在c++中对于接受函数指针或函数符的函数,可使用匿名函...

  • c++ 指针

    原文地址摘要:这篇文章详细介绍C/C++的函数指针,请先看以下几个主题:使用函数指针定义新的类型、使用函数指针作为...

  • C++函数指针、指针函数、引用函数

    函数指针的声明:返回类型 (*函数名) (形参); 指针函数的声明:返回类型 * 函数名 (形参); 引用函数的声...

  • c++中类的成员函数指针

      在c++中,使用函数指针的时候,我一般使用静态成员函数的指针。另外,还有一种普通成员函数的指针,我用的比较少。...

  • 学习笔记3(指针运算,函数参数与指针,数组指针,二级指针)

    一、指针运算 二、数组与指针 三、指针和函数参数 java中: C/C++中: 四、指针数组 五、 二级指针 六、...

  • C++学习笔记(与安卓平台无关)

    C++语法 const指针 template定义 定义函数时参数类型的选择 函数参数可以传值,传引用或者传指针,如...

  • block底层浅谈

    函数指针是指向函数的指针变量。 C++里面的结构体相当于OC里面的类 类就有变量和方法 C++里面跟类名一样的方法...

  • 计算机基础的考察

    语言语法(以C/C++为例)。 指针(数组),函数指针,操作符运算顺序,const(常指针与指向常量指针),sta...

网友评论

      本文标题:C++:函数指针

      本文链接:https://www.haomeiwen.com/subject/ravaxltx.html