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

 

 
posted @ 2019-02-25 21:36  zz2108828  阅读(255)  评论(0编辑  收藏  举报