码迷,mamicode.com
首页 > 编程语言 > 详细

C++ 函数指针

时间:2015-09-17 16:57:53      阅读:147      评论:0      收藏:0      [点我收藏+]

标签:

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

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

            type (*vp) (type,type);

  该语句声明了一个指针func,它指向了一个函数,这个函数带有了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);
}

 

C++ 函数指针

标签:

原文地址:http://www.cnblogs.com/kaixuanguilai/p/4816655.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!