关于模板中的嵌套依赖类型名与typename
2009-11-09 14:11
218 查看
typename一共就两种用法
①修饰模板参数,说明它是一个类型.此时可以用class关键字来代替.
②修饰嵌套依赖类型名
关于第②点要说明如下:
1. 依赖类型名: 一个模板中的 依赖于一个模板参数的名字.
2. 嵌套依赖类型名: 嵌套在一个类内部的一个依赖类型名
比如:
std::list<T>
首先,它是一个依赖于模板参数的类型,所以它是一个依赖类型名
其次,它也是一个嵌套在std内部的类型,所以它是 嵌套依赖类型名,需要用typename来修饰.如下:
typename std::list<T> m_lstT;
记住:
在涉及到一个模板中的嵌套依赖类型名的任何时候,都必须把typename放在紧挨着它的前面.
①修饰模板参数,说明它是一个类型.此时可以用class关键字来代替.
②修饰嵌套依赖类型名
关于第②点要说明如下:
1. 依赖类型名: 一个模板中的 依赖于一个模板参数的名字.
2. 嵌套依赖类型名: 嵌套在一个类内部的一个依赖类型名
比如:
std::list<T>
首先,它是一个依赖于模板参数的类型,所以它是一个依赖类型名
其次,它也是一个嵌套在std内部的类型,所以它是 嵌套依赖类型名,需要用typename来修饰.如下:
typename std::list<T> m_lstT;
记住:
在涉及到一个模板中的嵌套依赖类型名的任何时候,都必须把typename放在紧挨着它的前面.
相关文章推荐
- class 与 typename (在模板定义上)的通用与各自特殊性(前者-类,后者-嵌套依赖类型名)
- C++模版中的typename关键字和嵌套依赖类型(依赖名称)
- [C++再学习系列] typename和依赖类型
- C++箴言:理解typename的两个含义 nested dependent name(嵌套依赖名字)
- 关于C++中模板中的typename和class的区别比较
- [转] 关于C++中模板中的typename和class的区别比较
- 关于模板中typename的用法
- ThinkPHP关于模板的一些嵌套、IF判断使用
- 引用模板中的类型时,切记要加上typename声明!!
- c++中关于模板的typename和class的区别
- 关于C++中模板中的typename和class的区别比较
- typename使用在模板中区分static成员和类型
- C++基础——关于模板的技巧性基础知识(typename、成员模板、模板的模板参数)
- Effective STL 阅读有感(1)--typename 依赖类型 end()的使用
- 关于C++中模板中的typename和class的区别比较
- 依赖名称不是类型[关于模板类中的迭代器]
- 关于python 的url_encode关于的嵌套字典类型变量的编码扩展
- 关于动态代理---模板方法模式,工厂模式,依赖倒转
- 嵌套依赖类型名
- C++箴言:理解typename的两个含义 nested dependent name(嵌套依赖名字)