函数模板简单实现

#include<iostream>

using namespace std;

template<typename T ,void (*f)(T& v)>
void foreach(T arr[], unsigned size)
{
    for (size_t i = 0; i < size; i++)
    {
        f(arr[i]);
    }
 }

template<typename T>
void print(T& v)
{
    cout << " " << v << " ";
}


int main()
{
    int arr[] = { 1,2,3,4,5,6,7,8 };
    foreach<int, print<int> > (arr, 8);

    cin.get();
    return 0;
}

 

 

posted @ 2020-05-02 13:06  jieche  阅读(193)  评论(0编辑  收藏  举报