C++11类型别名

有两种方法可以定义类型别名。传统方法是使用关键字typedef,另一种使用别名声明来定义类型别名。

typedef

关键词typedef作为声明语句中的基本数据类型的一部分出现,含有typedef的声明语句定义的不是变量而是类型别名。如:

typedef double wages;       //wages与double同义
typedef wages base, *p;     //base与double同义,p与double*同义

类型别名与类型的名字等价,只要类型可以出现的地方,就可以使用类型别名。如:

wages hourly, weekly;       //声明了两个double类型的变量

别名声明

使用using作为别名声明的开始,其后紧跟别名和等号,作用为将类型左侧的名字规定为等号右侧类型的别名。如:

using double = wages;
wages hourly, weekly;

指针、常量和类型别名

如:

typedef char *pstring;
const pstring cstr = 0;     //cstr是指向char的常量指针(顶层)
const pstring *ps;          //ps是一个指针,所指的对象是指向char的常量指针

pstring实际上就是指向char的指针,const pstring就是指向char的常量指针,而非指向常量字符的指针。并不可以用char *直接代替pstring如下:

const char * cstr = 0;      //错误,此为底层指针,为指向常量字符的非常量指针
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值