zoukankan      html  css  js  c++  java
  • C++ 函数指针

          我们都知道,数组名就是指向数组第一个元素的常量指针。同理,对于一个函数而言,函数名也是指向函数第一条指令的常量指针。而编译器要做的就是在程序编译之后,为每个函数分配一个首地址,即该函数第一条指令的地址。一般情况下,我们可以用一个指针来保存这个地址,而这个指针就是函数指针,该指针可以看作是它指向函数的别名,所以我们可以用该指针来调用这个函数。

    =========================函数指针的声明方法=========================

                type (*vp) (type,type);

      该语句声明了一个指针vp,它指向了一个函数,这个函数带有了2个type型参数并返回一个type的值。(type可以是任意的类)

    eg,int (*vp) (int,int);

    简单的例子:

    #include<iostream>
    
    typedef int (*vp)(int,int);//为函数指针定一个别名,方便使用
    int add(int x,int y){return x+y;}
    int min(int x,int y){return x-y;}
    void print(vp p,int x,int y){std::cout<<"result="<<p(x,y)<<std::endl;}//函数指针作为函数参数,在函数中调用相应的函数。
    int main()
    {
        int x,y;
        vp p;    //声明函数指针p
        std::cin>>x>>y;
        p = add;    //指向add函数
        print(p,x,y);
        p = min;    //指向min函数
        print(p,x,y);
    }
  • 相关阅读:
    抽奖系统 random()
    JavaScript 稀奇的js语法
    Node初识笔记 1第一周
    vue 自定义指令
    vue 组件 单选切换控制模板 v-bind-is
    学习网址
    vue 组件 子向父亲通信用自定义方法用事件监听
    vue 组件 模板中根数据绑定需要指明路径并通信父
    vue 组件 模板input双向数据数据
    测试样式
  • 原文地址:https://www.cnblogs.com/kaixuanguilai/p/4816655.html
Copyright © 2011-2022 走看看