最近,看了很多码神级人物的代码,发现其代码很炫酷,尤其对模板的使用,作为小码农,感觉已经落伍了,所以应该发奋图强,好好学习和掌握模板这个东西。
模板是什么呢?有人说一个模板就是一个创建类或函数的蓝图或者公式,什么意思呢?就是说模板是创建类或者函数的母体或生成器,你给一些参数,模板就能够创建出一个类或者函数。
那么模板怎么定义呢?模板定义以关键字template开始,后跟一个模板参数列表,这是一个逗号分隔的一个或者多个模板参数,用<>包围起来。for example:
template <typrname T>
int compare(const T &v1, const T &v2)
{
if (v1 < v2)
return -1;
if (v1 > v2)
return 1;
return 0;
}// template_try.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include "iostream"
#include "vector"
using namespace std;
template <typename T>
int compare(const T &v1, const T &v2)
{
if (v1 < v2)
return -1;
if (v1 > v2)
return 1;
return 0;
}
int _tmain(int argc, _TCHAR* argv[])
{
cout << compare(1, 0) << endl;
vector<int> vec1,vec2;
for(vector<int>::size_type ix = 0; ix !=3; ix++)
{
vec1.push_back(ix+1);
vec2.push_back(ix+4);
}
cout << compare(vec1, vec2) <<endl;
return 0;
}
运行结果:
原文:http://blog.csdn.net/helei001/article/details/42233827