是模板数组。int 是存储类型,int&是访问类型。
CArray是个模板类,其中成员变量、函数可用到模板形参表中的任一类型
template<class FirstType, class SecondType>
class CArray
{
public:
FirType elem1;
SecType elem2;
};
则声明CArray<int,int>就相当于
class CArray
{
public:
int elem1;
int elem2;
};
CArray<int,int>&r就是一个CArray类型变量的引用。
就是人家帮你做了个数组结构,里面封装了例如取数组第几个元素,增加,删除等等
(学过数据结构应该知道,还有几个类似的模板)
CArray<int,int> tmpArray;
告诉你定义的tmpArray每一个值是整型的,如果你要换double,就把int改了
那么每一个值类型就变了相应类型了