21xrx.com
2024-11-25 05:08:33 Monday
登录
文章检索 我的文章 写文章
C++」指针函数和函数指针有何区别?
2023-07-01 12:47:37 深夜i     --     --
C++ 指针函数 函数指针 区别

C++是一种面向对象的编程语言,同时也支持指针和函数指针的使用。在C++中,指针函数和函数指针是两个不同的概念,它们虽然名字相似,但是具有不同的特点和用法。

首先,指针函数指的是一个返回指针的函数,也就是说,指针函数的返回值是一个指针类型。例如,我们可以定义一个返回整型数组指针的指针函数:


int* my_func(int arg1, int arg2, ...)

  // 返回一个整型数组指针

我们可以看到,my_func函数的返回值是一个int类型的指针,它可以指向一个整型数组。

而函数指针则指的是一个指向函数的指针,也就是说,函数指针可以直接调用一个函数。我们可以定义一个函数指针,然后将它指向一个特定的函数:


void my_func(int arg1, int arg2, ...)

  // 实现函数功能的代码

int main() {

  // 声明一个函数指针

  void (*p_func)(int, int, ...) = &my_func;

  

  // 直接调用my_func函数

  (*p_func)(1, 2, ...);

}

我们可以看到,p_func指针指向了my_func函数,并且可以通过调用p_func间接调用my_func函数。

综上所述,C++中的指针函数和函数指针是两个不同的概念,指针函数返回一个指针类型的值,而函数指针则指向一个函数并可以直接调用该函数。在编写程序时,我们需要根据具体的使用场景选择使用哪种类型的指针。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复