《C++ primer》练习6.54-6.56:函数指针定义并调用

《C++ primer》里面讲到函数指针定义并调用,做一下练习6.54-6.56,题目如下:

vector元素的类型是函数指针的类型是int (*)(int, int),指向的元素是有两个int形参,返回类型也是int的函数。

cpp 复制代码
#include <vector>
#include <iostream>
using namespace std;

int add(int num1, int num2)
{
  return num1 + num2;
}
int subtract(int num1, int num2)
{
  return num1 - num2;
}
int multiply(int num1, int num2)
{
  return num1 * num2;
}
int divide(int num1, int num2)
{
  return num1 / num2;
}
int main()
{
  vector<int (*)(int, int)> a;
  a.push_back(add);
  a.push_back(subtract);
  a.push_back(multiply);
  a.push_back(divide);

  int res_add = a[0](6, 3);
  int res_subtract = a[1](6, 3);
  int res_multiply = a[2](6, 3);
  int res_divide = a[3](6, 3);
  cout << res_add << " " << res_subtract << " " << res_multiply << " " << res_divide;
  return 0;
}

输出

相关推荐
沐怡旸9 小时前
【底层机制】std::unique_ptr 解决的痛点?是什么?如何实现?怎么正确使用?
c++·面试
感哥10 小时前
C++ 内存管理
c++
博笙困了16 小时前
AcWing学习——双指针算法
c++·算法
感哥16 小时前
C++ 指针和引用
c++
感哥1 天前
C++ 多态
c++
沐怡旸1 天前
【底层机制】std::string 解决的痛点?是什么?怎么实现的?怎么正确用?
c++·面试
River4162 天前
Javer 学 c++(十三):引用篇
c++·后端
感哥2 天前
C++ std::set
c++
侃侃_天下2 天前
最终的信号类
开发语言·c++·算法
博笙困了2 天前
AcWing学习——差分
c++·算法