在C++模板中的类型参数一般可以使用typename和class,两者没有什么不同。但是typename比class多项功能:

“任何时候当你想要在template中指涉一个嵌套从属类型名称,就必须在其前面加上关键字typename”

因为C++默认情况下把属性都作为值来看待而不是类型。

#include <iostream>
#include <cstdlib> class Integer {
public:
typedef int value_type;
}; class Double {
public:
typedef double value_type;
}; template<class DataType>
class Storage {
public:
typename DataType::value_type data;
}; int main() {
Storage<Integer> s; s.data = 3.4/; std::cout<<s.data<<std::endl; return ;
}

最新文章

  1. 简单的两数之和再次乱入&lt;&lt; Add Two Numbers &gt;&gt;
  2. 揭开嵌入式c面试题背后的玄机
  3. 高性能浏览器网络(High Performance Browser Networking) 第二章
  4. [LeetCode290]Word Pattern
  5. NuGet管理
  6. 在2002年的老电脑上安装Debian
  7. linux允许root远程登录
  8. Kali Linux入坑之基本配置(2018.1)
  9. Selenium自动化测试-unittest单元测试框架使用
  10. Golang源码探索(二) 协程的实现原理(转)
  11. bzoj 2832
  12. Redis之发布订阅
  13. Mybatis的in使用
  14. MVC 自定义特性(验证用户登录session是否已经过期)
  15. mysql 5.7.10 启动多实例笔记
  16. 触发器的SQL语法
  17. Struts2 数据校验之四兄弟
  18. docker images 按名称过滤
  19. 2015多校第6场 HDU 5354 Bipartite Graph CDQ,并查集
  20. 【树形dp】TELE

热门文章

  1. [译文]casperjs使用说明-测试
  2. Python实现——二层BP神经网络
  3. 快速上手日期插件daterangepicker
  4. 如何高度自定义CollectionView的header和foot
  5. CSS z-index在ie67中不起作用
  6. Windows下安装Redis服务(zip)
  7. SAP生产订单各种日期的计算说明
  8. 1016 部分A+B (15 分)
  9. Oracle批量插入数据SQL语句太长出错:无效的主机/绑定变量名
  10. origin显示三维曲面