zoukankan      html  css  js  c++  java
  • 指针知识(八):函数指针

    c++允许对指向函数的指针进行操作。它的一个重要使用是把一个函数作为参数传给另一个函数。

    声明一个函数指针像声明一个函数原型一样,不过函数名前面插个符号 * ,然后用()扩起来。

    #include <iostream>

    #include <string>

    using namespace std

    int addition (int a, int b)

    {return (a + b) ;} 

    int subtraction (int a, int b)

    {return (a - b) ;}

    int operation(int x, int y, int (*func)(int ,int))

    {

      int g;

      g = (*func)(x, y);

      return g;

    }

    int main()

    {

      int m, n;

      int (*mins)(int, int) = subtraction;

      m = operation(7, 5, addition);

      n = operation(20, m, mins);

      cout<<n<<' ';

     

      return 0;

    }

    输出:8

    上面的例子中,mins是指向函数的指针,有两个 int 类型的参数,它被直接初始化指向 subtraction :

    int (*mins)(int, int) = subtraction;

    这里实际是在定义一个指针变量,这个指针的名字叫做mins,这个指针的类型是指向一个函数,函数的类型是有两个整型参数并返回一个整型值。

    整句话 “int (*mins)(int, int) = subtraction;” 是定义了这样一个指针并把函数subtraction的值赋给它。也就是说有了这个定义后mins就代表了函数subtraction。

    因此括号中的两个int 实际只是一种变量类型的声明,也就是说是一种形式参数而不是实际参数。



  • 相关阅读:
    docker介绍和简单使用
    docker 安装
    流畅的python python 序列
    mysql设计表结构数据类型的选择
    Mysql存储引擎的选择
    Linux python3安装/shell脚本/if/循环/函数
    LINUX 文件/组/帮助/权限/文件压缩/管道
    Linux介绍和基本命令
    如何安装secureCRT8.1破解
    centos7 终端修改字体大小
  • 原文地址:https://www.cnblogs.com/guozqzzu/p/3599462.html
Copyright © 2011-2022 走看看