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

输出

相关推荐
小小龙学IT4 小时前
Google Test(gtest/gmock)开源 C++ 单元测试与 Mock 框架完全指南
c++·单元测试·开源
luj_176813 小时前
桥牌思维启示:系统设计的模块化架构
c语言·开发语言·c++·经验分享·算法
会周易的程序员14 小时前
aiDgePLC iec61131 虚拟机 完整使用文档
c++·物联网·架构·st·iec61131
小小龙学IT14 小时前
Boost.Beast 深度实战:基于 Asio 的开源 C++ HTTP/WebSocket 协议库
c++·websocket·http
不可求~15 小时前
C++ std::string_view 不是字符串:从悬空引用到安全用法
java·开发语言·c++
小小龙学IT16 小时前
C++ 正则表达式完全指南:从 std::regex 实战到 RE2 引擎原理(NFA/DFA/回溯陷阱)
c++·正则表达式
码匠许师傅19 小时前
【C++ 面试真题】聊聊 C++ 的序列容器
java·c++·面试
C++ 老炮儿的技术栈19 小时前
Qt5.9.1 Windows 完整开发环境搭建流程
开发语言·c++·windows·qt·编辑器·代码化
欧特克_Glodon20 小时前
OpenCV计算机视觉开发入门与实践<十一>:矩阵的复制和矩形类Rect
c++·opencv·计算机视觉·矩阵
键盘会跳舞20 小时前
C++:std::tuple 源码级深度拆解——变参模板、SFINAE与模板元编程核心技巧
开发语言·c++·sfinae·变参模板