函数模板简单实现

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

猜你喜欢

转载自www.cnblogs.com/linxuemufeng/p/12817777.html