21xrx.com
2025-04-12 05:15:32 Saturday
文章检索 我的文章 写文章
C++」指针函数和函数指针有何区别?
2023-07-01 12:47:37 深夜i     11     0
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++中的指针函数和函数指针是两个不同的概念,指针函数返回一个指针类型的值,而函数指针则指向一个函数并可以直接调用该函数。在编写程序时,我们需要根据具体的使用场景选择使用哪种类型的指针。

  
  

评论区

请求出错了