auto类型说明符

来源:互联网 发布:shop 4.0 源码下载 编辑:程序博客网 时间:2024/05/16 14:30

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

 

 

0 0
原创粉丝点击