模板

函数模板

#include 
#include 
#include 
#include 
#include 

using namespace std;

template
int compare(const T &v1, const T &v2)
{
    if (v1 < v2) return -1;
    if (v2 < v1) return 1;
    return 0;
}

template  T foo(T* p)
{
    T tmp = *p;
    return tmp;
}

int main()
{
    int ret = 0;

    ret = compare(1, 0); // T为int
    cout << ret << endl;

    vector vec1{1, 2, 3}, vec2{4, 5, 6};
    ret = compare(vec1, vec2); // T为vecotr
    cout << ret << endl;

    return 0;
}

你可能感兴趣的:(模板)