C++中auto关键字的使用
写在前面:
作者是一个新手,文章中的内容大部分来自于其他博文,作者仅仅是加入了少量自己的理解,方便自己在遗忘时查看,并且作者会在文章末尾附上原文链接,方便各位网友前往学习
1 auto关键字简介
在C中,使用auto修饰的变量,是具有自动储存器的局部变量,但是很少有人去使用它,在C++11中,auto有了新的含义,他不再是是个储存类型指示符,而是作为一个新的类型指示符来指示编译器,auto声明的变量必须由编译器在编译时期推导而得.
#include <iostream>
using namespace std;
double ReturnDouble() {
return 3.14;
}
int main() {
int a = 10;
auto b = a;
auto c = 'a';
auto d = ReturnDouble();
cout << typeid(a).name() << endl;
cout << typeid(b).name() << endl;
cout << typeid(c).name() << endl;
cout << typeid(d).name() << endl;
return 0;
}
输出如下:
注意:auto是一个占位符,编译器会根据初始化来推演出类型,填充位置,所以auto必须初始化
比如:
auto a;//不行,不知道a是什么类型
auto b=10;//可以,根据10推测出是int类型
C++中auto类似于C#中的var;
2 使用细则
-
使用auto来声明指针的时候,使用auto和auto没有区别
-
使用auto来声明引用类型的时候必须加"&"