c++系列文章(6):类型别名和自动类型

本文介绍了C++中两种定义类型别名的方法:typedef和using,以及C++11引入的自动类型推断关键字auto和decltype的使用。类型别名简化了复杂类型名称,而auto和decltype则允许编译器根据初始值或表达式自动推断变量的类型。特别地,decltype在处理变量和非变量表达式时有不同的规则。
摘要由CSDN通过智能技术生成

博客链接

类型别名

  类型别名是一个名字,它是某种类型的同义词。使用类型别名可以使复杂的类型名字变得简单明了、易于使用。c++有两种方法用于定义类型别名:typedef和using

  typedef

typedef double wages; //wages是double的同义词
typedef wages base,*p; //base是double的同义词,p是double*的同义词

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

  using

  c++11规定了新的别名声明关键字using。

using wages = double; //wagess是double的同义词
using p = *double; //p是double*的同义词,即指向double的指针

  声明成类型别名之后,其基本数据类型可能会发生改变,如果直接将类型别名替换成原本的样子进行理解,可能会发生错误。

using pstring = *char; //pstring表示指向字符的指针
const pstring p = nullptr; //p是一个常量指针,不能将其理解为const char*,即指向字符常量的普通指针

自动类型

  auto

  c++11引入了auto类型说明符,让编译器去分析表达式的初始值来推断类型,因此auto定义的变量必须具有初始值


                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值