模板别名

为类模板类型指定别名,将会很方便。比如你可以使用最常规的方法指定别名即typedef,具体代码如下所示:

typedef std::array<double,12> arrd ;
typedef std::array<int,12> arri ;
typedef std::array<string,12> arrst ;
arrd gallons ; //gallons 是array(double,12)类型的变量
arri days ; //days 是array(int,12)类型的变量
arrst months ; //months 是array(string,12)类型的变量

假如你常常使用上述方法指定别名,那么你可能是忘记了C++(11)的新功能——使用模板提供一些列别名,具体代码如下所示:

template<Type>
using arrtype = std::array<Type,12> ;
arrtype<double> arrd ;
arrtype<int> arri ;
arrtype<string> arrst ;

总而言之就是使用arrtype<Type>去代替 std::array<Type,12> 。 

并且C++11允许将using语法用于非模板的别名申明,这种语句的可读性比typedef更高。

typedef const char* pc1 ;
using pc2 = const char* ;

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值