1. 数组
template <typename T, int N>
void array_print(T (&arr)[N])
{
for(int i = 0; i < N; ++i)
{
cout << arr[i] << endl;
}
}
int arr[5] = {1, 2, 3, 4, 5};
array_print(arr); //实例成 array_print(int(&)[5])
2. 返回值
template <class T1, class T2, class T3>
T1 sum(T2 x, T3 y)
{
return x.size() + y.size();
}
size_t l = sum<size_t>(string("xx"), string("yyy"));
3. 非类型形参数
template<int w, int h>
int area()
{
return w * h;
}
in......
阅读全文