找回密码
 立即注册

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)
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 顶 踩
牛卧堂
回复

使用道具 举报

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

本版积分规则

新唐MCU