c++primer学习笔记-----2.5处理类型

本文介绍了C++中处理类型的一些高级技巧,包括类型别名的两种定义方式(typedef和using),以及C++11新标准引入的auto类型说明符和decltype类型指示符。类型别名使得复杂类型的命名更清晰,auto简化了变量类型的声明,而decltype可以从表达式中获取精确的类型信息,即使涉及到const和引用也保持原样。
摘要由CSDN通过智能技术生成

随着程序越来越复杂,程序中用到的类型也越来越复杂,这种复杂性体现在两个方面:

第一,  一些类型难于“拼写”,有时其名字难于体现其构造目的和含义;

第二,  有时候根本搞不清所需的是哪种类型。

 

2.5.1 类型别名(新标准

 

【类型别名是一个名字,它是某种类型的同义词,有两种方法可以定义类型别名。】

 

【传统的方法是使用关键字typedef,关键字typedef 作为声明语句中的基本数据类型的一部分出现,该声明语句定义的不再是变量而是类型别名。

该声明语句中的声明符也可包含类型修饰,从而也能由基本数据类型构造出复合类型来(可以不通过基本类型而直接定义指向该类型的指针)。

大部分情况下类型别名和类型的名字等价,但当如果类型别名指代的是复合类型或常量时,再把两者视为等价进行理解就是错误的。

typedef char *pstring;
const pstring cstr = 0;//cstr 是指向char 的常量指针
const char *cstr = 0;//单纯的把类型别名对应的原名替换,是对类型别名的一种错误理解

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值