简单写写cpp primer6.7节的课后练习
#include<stdio.h>
#include<vector>
using namespace std;
int a = 1, b = 1;
int add(int a, int b) {
return a + b;
}
int mi(int a, int b) {
return a - b;
}
int multiply(int a, int b) {
return a * b;
}
int divide(int a, int b) {
return a / b;
}
typedef decltype(add)* func_item;
vector<func_item> func_set(4, nullptr); //4*nullptr
int main() {
func_item p1 = add, p2 = mi, p3 = multiply, p4 = divide;
func_set[0] = p1;
func_set[1] = p2;
func_set[2] = p3;
func_set[3] = p4; //这一步不可以直接带形参。
for(int i = 0; i <= 3; i++) {
cout << (*func_set[i])(a, b) << endl;
}
}