0
点赞
收藏
分享

微信扫一扫

《C++primer》读书笔记四






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


typedef double  Type;

template<class type>

class Queue

{

public:

//...

private:

Type item; //item不是double类型

Queue* next;

};


模板参数的名字在模板参数表中只能被引入一次。


在不同的了模板声明或定义之间,模板参数的名字可以被重复使用。




类模板的参数可以有缺省实参,这对类型参数与非类型参数都一样。


template<class Type, int size=1024>



class Buffer ;






template<class Type=string,int size>


class Buffer ;




16.2类模板的实例化


Queue<int> q1; 实例化出一个int类型的Queue


模板声明或定义可以引用类模板或类模板的实例。




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



举报

相关推荐

0 条评论