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

输出

相关推荐
f狐0狸x1 小时前
【蓝桥杯每日一题】4.1
c语言·c++·算法·蓝桥杯
ん贤1 小时前
2023第十四届蓝桥杯大赛软件赛省赛C/C++ 大学 B 组(真题&题解)(C++/Java题解)
java·c语言·数据结构·c++·算法·蓝桥杯
二进制人工智能5 小时前
【QT5 网络编程示例】TCP 通信
网络·c++·qt·tcp/ip
莫有杯子的龙潭峡谷7 小时前
3.31 代码随想录第三十一天打卡
c++·算法
AaronZZH8 小时前
【进阶】vscode 中使用 cmake 编译调试 C++ 工程
c++·ide·vscode
杨筱毅8 小时前
【性能优化点滴】odygrd/quill 中将 MacroMetadata 变量声明为 constexpr
c++·性能优化
NaZiMeKiY9 小时前
C++ 结构体与函数
开发语言·c++
涛ing9 小时前
【Git “fetch“ 命令详解】
linux·c语言·c++·人工智能·git·vscode·svn
学习是种信仰啊9 小时前
QT图片轮播器实现方法二(QT实操2)
开发语言·c++·qt
nqqcat~11 小时前
STL常用算法
开发语言·c++·算法