《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;
}

输出

相关推荐
AI街潜水的八角2 分钟前
基于C++的决策树C4.5机器学习算法(不调包)
c++·算法·决策树·机器学习
JSU_曾是此间年少32 分钟前
数据结构——线性表与链表
数据结构·c++·算法
此生只爱蛋1 小时前
【手撕排序2】快速排序
c语言·c++·算法·排序算法
何曾参静谧2 小时前
「C/C++」C/C++ 指针篇 之 指针运算
c语言·开发语言·c++
lulu_gh_yu3 小时前
数据结构之排序补充
c语言·开发语言·数据结构·c++·学习·算法·排序算法
ULTRA??3 小时前
C加加中的结构化绑定(解包,折叠展开)
开发语言·c++
凌云行者4 小时前
OpenGL入门005——使用Shader类管理着色器
c++·cmake·opengl
凌云行者4 小时前
OpenGL入门006——着色器在纹理混合中的应用
c++·cmake·opengl
~yY…s<#>4 小时前
【刷题17】最小栈、栈的压入弹出、逆波兰表达式
c语言·数据结构·c++·算法·leetcode
可均可可5 小时前
C++之OpenCV入门到提高004:Mat 对象的使用
c++·opencv·mat·imread·imwrite