0
点赞
收藏
分享

微信扫一扫

C++ 使用auto实现函数指针的方法

倚然君 2022-04-19 阅读 57
c++

语法背景

函数的地址就是函数名,使用函数指针可以实现返回值类型相同,参数相同,函数名不同的函数的调用,比如说:

#include <iostream>

void add(int a,int b)
{
  std::cout<<"相加操作"<<std::endl;
}

void sub(int a,int b)
{
  std::cout<<"相减操作"<<std::endl;
}

void (*fun)(int a,int b);

int main()
{
  int a=3;
  int b=4;
  fun = add;
  fun(a,b);
  system("pause");
  return 0;
 }

代码结果是
在这里插入图片描述

以上代码需要声明fun指针,并且使用时需要声明中的fun函数名指针,且fun不能更改。auto关键字可以指代未知类型的变量,也可以是指针,可以直接使用auto关键字,赋值函数名称,直接实现函数指针,只不过这种代码可读性会降低。

auto关键字实现

#include <iostream>

void add(int a,int b)
{
  std::cout<<"相加操作"<<std::endl;
}

void sub(int a,int b)
{
  std::cout<<"相减操作"<<std::endl;
}

int main()
{
  int a=3;
  int b=4;
  auto func = add;
  func(a,b);
  system("pause");
  return 0;
}

代码结果是
在这里插入图片描述

举报

相关推荐

0 条评论