找回密码
 立即注册

QQ登录

只需一步,快速开始

开启左侧

C++11这些令人无比愉悦的改变(6) -- typedef模板

[复制链接]
admin 发表于 2013-12-24 09:59:47 | 显示全部楼层 |阅读模式
在C++中,这样用typedef定义一个模板是不行的,
比如想这么做,没编译器支持的:
  • template<class T>
  • typedef std::vector<T> vec;
  • vec<int> v;   //想要作为std::vector<int> v; 的等价代码


复制代码

注意,以上是段错的代码,只是酒鬼的一厢情愿而已。。

c++11给出了一个解决方案,使用using关键词,
  • template<class T>
  • using vec = std::vector<T>;
  • vec<int> v;   //作为std::vector<int> v; 的等价代码


复制代码


这样,就达到了目标,
在一个已存在的模板基础上,通过using定义出了一个新的模板。

C++11的这个using方案,事实上已不可再称为typedef模板了,愉悦中的小小缺憾,
为什么不用typedef ?
为什么不用typedef ?
为什么不用typedef ?

(转载请注明来自:nuvoton-m0.com)
牛卧堂
回复

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies |上传

本版积分规则

新唐MCU