`

函数指针

    博客分类:
  • C++
阅读更多
//函数指针

//定义
typedef int (*int_intIntFuncPnt)(int ,int);//int_intIntFuncPnt为返回值为int,形参为两个int的函数指针
typedef int int_intIntFunc(int,int);//int_intIntFunc为返回值为int,形参为两个int的函数
int sub(int a ,int b){
	return a-b;
}

int funcPnt(int_intIntFuncPnt f){
	cout<<"funcPnt(1,2)="<<f(1,2)<<endl;
	return f(1,2);
}
int func(int_intIntFunc f){//同上,等效
	cout<<"func(1,2)="<<f(1,2)<<endl;
	return f(1,2);
}

int_intIntFuncPnt returnFuncPnt(){//函数指针作为返回值,
	return sub;
}



/*
int_intIntFunc returnFunc(){//error,函数不可作为返回值
	return sub;
}
*/

int (*fff(int a))(int ,int){//从函数名开始向外读
	return sub;
}
int_intIntFuncPnt fff2(int a){//同上,等效
	return sub;
}

void test_funcPointer(){
	int_intIntFuncPnt f1=0;//未定义,不可用
	int_intIntFuncPnt funcSub=sub;
	int_intIntFuncPnt funcSub2=&sub;//同上,等效
	cout<<"funcSub(1,2)="<<funcSub(1,2)<<endl;
	cout<<"funcSub2(1,2)="<<funcSub2(1,2)<<endl;
	//cout<<"f1(1,2)="<<f1(1,2)<<endl;//运行时错误
	int_intIntFunc f2;

	funcPnt(sub);
	func(sub);

	int_intIntFuncPnt subFunc=returnFuncPnt();
	cout<<"returnFuncPnt()(3,5)="<<returnFuncPnt()(3,5)<<endl;
}

分享到:
评论

相关推荐

    C/C++ 函数指针的意义,函数指针的用法

    ### C/C++ 函数指针的意义与应用 在C/C++编程中,函数指针是一种高级特性,它允许程序员处理函数的方式如同处理变量一般灵活。理解函数指针的意义及其用法,对于提升代码的可扩展性和灵活性至关重要。 #### 1. ...

    指针函数和函数指针变量

    在C语言中,指针和函数是两个非常重要的概念,而将它们结合在一起,就产生了指针函数和函数指针变量。这两个概念是C语言高级特性的体现,它们在编程中有着广泛的应用,如回调函数、动态加载库、内存管理等。 首先,...

    一般函数指针和类的成员函数指针

    在C++编程语言中,函数指针是一种强大的特性,它允许程序员通过指针来间接调用函数,从而实现代码的灵活性和复用性。然而,当涉及到类的成员函数时,事情变得稍微复杂一些,因为类的成员函数通常包含一个隐含的参数...

    函数指针和指针函数的区别

    在C/C++编程语言中,函数指针和指针函数是两个不同的概念,虽然它们都涉及到指针和函数,但其用法和含义各有特点。理解这两者的差异对于编写高效、灵活的代码至关重要。 首先,我们来解释"函数指针"。函数指针是一...

    彻底理解指针,指针数组和数组指针,指针函数和函数指针

    ### 彻底理解指针,指针数组和数组指针,指针函数和函数指针 #### 一、基础知识 在计算机编程中,指针是一个非常重要的概念,尤其是在C/C++这样的语言中更是如此。简单来说,指针是一种变量,但它存储的不是普通的...

    C++ 一般(普通)函数指针、类成员函数指针,用法区别,以及强制转换

    在C++编程中,函数指针是一个非常重要的概念,它允许我们存储函数的地址并可以在程序的不同地方调用。函数指针分为两类:一般(普通)函数指针和类成员函数指针。这两种类型的指针在用法上有所区别,且类成员函数...

    Keil C51中函数指针的使用

    Keil C51中函数指针的使用 函数指针是C语言中的一种重要概念,在Keil C51中函数指针的使用具有非常重要的意义。函数指针可以使得程序更加灵活和灵活,特别是在单片机系统中,嵌入式操作系统、文件系统和网络协议栈...

    函数指针和指针函数,const的用法,指针常量,常量指针的用法

    ### 函数指针和指针函数的区分及应用 #### 函数指针的理解与使用 **函数指针**是一种特殊的指针类型,它可以用来存储函数的地址,进而通过该指针来调用函数。理解函数指针的关键在于认识到函数也是一种具有特定...

    函数指针和指针函数的理解

    ### 函数指针与指针函数的理解 #### 一、函数指针与指针函数的基本概念 在C语言中,函数指针和指针函数是两个重要的概念,它们经常出现在较为复杂的程序设计中,尤其在回调函数、动态绑定等场景中发挥着重要作用。...

    C语言指针函数和函数指针详细介绍.

    C语言指针函数和函数指针详细介绍 C语言中指针函数和函数指针是两个不同的概念,但它们之间存在着紧密的联系。本文将对C语言中的指针函数和函数指针进行详细的介绍。 一、指针函数 指针函数是指返回值为指针的...

    易语言简单类函数指针

    3. **取类函数指针的语法**:在易语言中,获取类函数指针通常涉及`__FUNCTION__`关键字,它会返回当前函数的指针,可以用于赋值给类函数指针变量。 4. **类函数的使用场景**:类函数指针在事件处理、异步操作、回调...

    详解函数指针和指针函数

    【函数指针】是C语言中一种强大的特性,它允许我们使用指针来直接操作函数。函数在程序中被看作是一种数据类型,因此可以像处理其他数据一样处理它们,包括赋值、传递和作为参数。函数指针的定义包含了函数的返回...

    C51 函数指针与再入函数

    C51 函数指针与再入函数 函数指针是 C 语言中几个难点之一。由于 8051 的 C 编译器的独特要求,函数指针和再入函数有更多的挑战需要克服。主要由于函数变量的传递。典型的(绝大部分 8051 芯片)函数变量通过堆栈的...

    函数指针就是指向函数的指针;类成员方法指针,类具有类域操作符

    在C++编程中,函数指针是一个非常重要的概念,它允许我们存储函数的地址并像普通指针一样对其进行操作。函数指针可以被用来作为参数传递给其他函数,或者存储在一个变量中,以便稍后调用。这为程序设计提供了很大的...

    函数指针和函数对象

    函数指针和函数对象 函数指针(全局函数/类成员函数)和函数对象是C++语言中两个重要的概念,经常被混淆和误解。本文将详细介绍函数指针和函数对象的定义、类型、使用方法和区别。 一、函数指针 函数指针是指向...

    函数指针万能打印_C++_VS_

    在C++编程中,函数指针是一个非常强大的工具,它允许我们将函数作为其他函数的参数或者存储在变量中。在本示例中,“函数指针万能打印”着重讲解如何利用函数指针实现一个通用的打印系统,可以适应各种数据类型的...

    函数指针的详解

    ### 函数指针详解 #### 一、函数指针的概念 在C语言中,函数也是一种特殊的“对象”,它有自己的地址,即函数的入口地址。函数指针是用来存储这些地址的一种特殊类型的指针。通过函数指针,我们可以实现更加灵活的...

    函数指针的使用

    在C/C++编程语言中,函数指针是一个非常重要的概念,它允许我们将函数作为其他函数的参数,或者存储在变量中以便稍后调用。在标题"函数指针的使用"中,我们可以深入探讨这个主题。 函数指针的定义: 函数指针是一个...

    函数指针的范例

    函数指针的范例 函数指针是 C 语言中的一种高级特性,它允许开发者将函数作为参数传递、返回值或存储在数据结构中。本文将通过一个简单的示例程序,深入探讨函数指针的概念和应用。 首先,让我们从一个简单的函数...

    传递函数指针到DLL函数中去的示例

    本示例将详细介绍如何将函数指针传递给DLL函数,以便DLL在运行时能够调用应用程序提供的特定功能。 首先,我们需要理解函数指针的概念。函数指针是一个变量,其值为某个函数的地址,允许我们像操作普通数据一样操作...

Global site tag (gtag.js) - Google Analytics