auto类型说明符

auto类型说明符

              ---雨竹清风

auto 说明符,是让编译器去推断我们的类型是什么。Auto定义的变量必须有初始值。

auto int i = 0;

编译器推断出来的auto类型有时候和初始值的类型并不完全一样,编译器会适当地改变结果类型使其更符合初始化规则。

1.        引用是引用的其对象,当引用作为初始值赋予给auto 类型的变量的时候,其真正的类型是引用对象值的类型。

int i = 0, &r = i;

auto a = r;//a是一个int类型。ri的一个别名,而iint型,所以a是一个int型的变量。

2.        auto一般会忽略掉顶层const,而底层const则被保留下来。

const int i = 12;

auto r = i;//忽略顶层的const,即地址不变,保留的是底层的,也就是值。意思是仅仅拷贝的是i的值。值是什么类型,r就是什么类型。

3.        有多个变量一起声明的时候,其变量的类型必须相同。

auto i = 12, p = 3.14;//错误,iint型,而pdouble型。

 

4.        若希望auto类型是一个顶层的const,那么要明确的指出。

例如:

const int ci = 2;

const auto f = ci;//ci的类型在复制之后转换为int,f的类型为const int

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值