您的位置:首页 > 编程语言 > C语言/C++

【C++】【学习笔记】【未成功实现】关于指针的函数【very difficult】

2017-08-29 21:50 716 查看

注:由于参照C++primer 5th edition,这段程序并不能在博主的VS2012中运行,主要是GCC编译器版本过低导致。

/* 本节主要介绍 声明一个函数【easy】
创建容器对象并使其元素为指向函数的指针【略difficult】
创建多个函数,用容器保存指向这些函数的指针
指针上场,调用指针输出函数计算的结果*/
#include <iostream>
#include <vector>

using namespace std;

//add
int add(int i1, int i2) {
return i1 + i2;
}

//substraction
int sub(int i1, int i2) {
return i1 - i2;
}

//multiplication
int mul(int i1, int i2) {
return i1 * i2;
}

//division
int div(int i1, int i2) {
return i1 / i2;
}

//computation
int compute(int a, int b, int (*p)(int, int))
{
cout << p(a,b) << endl;
}

int main()
{
int i = 5, j = 10;
decltype(add) *pf1 = add, *pf2 = sub, *pf3 = mul, *pf4 = div;
vector< decltype(add)* > vF = {pf1, pf2, pf3, pf4};
for(auto p : vF)
{
compute(i, j, p);
}

system("pause");
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐