首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

《Effective C++》读书笔记之item42:理解typename的双重意义

2012-09-04 
《Effective C++》读书笔记之item42:了解typename的双重意义1.当声明模板类型参数时,class和typename的意义

《Effective C++》读书笔记之item42:了解typename的双重意义

1.当声明模板类型参数时,class和typename的意义相同。

2.模板内出现的名称如果依赖于某个模板参数,称为从属名称(dependent names);如果从属名称在类中呈嵌套状,称为嵌套从属名称

嵌套从属名称有可能导致解析困难,如:

template<typename IterT>void workWithIterator(IterT iter){typedef typename std::iterator_traits<IterT>::value_type value_type;value_type temp(*iter);...}


4.typename相关规则在不同的编译器上有不同的实现方式,因而关于它的使用可能造成移植性的降低。

热点排行