《C++primer》读书笔记四

来源:互联网 发布:学生管理系统设计c语言 编辑:程序博客网 时间:2024/05/17 07:14




模板参数的名字,在它被声明为模板参数后,一直到模板声明或定义的结束,都可以被使用,如果在全局域中声明了与模板参数同名的变量,则该变量被隐藏。

typedefdouble Type;
template<classtype>
classQueue
{
public:
          //...
private:
          Type item;   //item不是double类型
          Queue* next;
};
模板参数的名字在模板参数表中只能被引入一次。
在不同的了模板声明或定义之间,模板参数的名字可以被重复使用。

类模板的参数可以有缺省实参,这对类型参数与非类型参数都一样。
template<classType,int size=1024>
classBuffer ;

template<classType=string,int size>
classBuffer ;

16.2类模板的实例化
Queue<int> q1; 实例化出一个int类型的Queue
模板声明或定义可以引用类模板或类模板的实例。

声明一个类模板实例的指针和引用不会引起类模板被实例化。

1 0