C++ primer 第六章 练习6.56 函数指针练习
// ConsoleApplication1.cpp: 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include <initializer_list>
#include <iostream>
#include <vector>
#include <cassert>
#include <string>
#define NDEBUG
using namespace std;
int fuc1(const int &i1, const int &i2) {
return i1 + i2;
}
int fuc2(const int &i1, const int &i2) {
return i1 - i2;
}
int fuc3(const int &i1, const int &i2) {
return i1 * i2;
}
int fuc4(const int &i1, const int &i2) {
return i1 / i2;
}
int main()
{
using int_func = int (*) (const int &,const int &);
vector<decltype (fuc1) * > v{ fuc1,fuc2,fuc3,fuc4 };
//vector<int_func> v{ fuc1,fuc2,fuc3,fuc4 }; 等效上面2行
int i1 = 10, i2 = 5;
for (auto &&fuc : v) {
cout << fuc(i1, i2) << endl;
}
return 0;
}