【C++】auto 关键字

文章目录

  • 一、基本概念
  • 二、注意事项

一、基本概念

auto关键字是 C++ 11 的新特性。
在早期 C / C++ 中,auto的含义是自动销毁的局部变量,由于局部变量本来就是自动销毁的,所以我们一般忽略不写。
而在 C++ 11 中,auto变量的含义是我们不告诉编译器这个变量的类型,让编译器在编译时根据变量的初始化表达式(auto修饰的变量必须初始化)去猜变量的类型。

例子:

int a = 0;
auto b = a;  //int b = a;
auto c = &a; //int* c = &a;
auto& d = a; //int& d = a;

二、注意事项

auto不能用作返回值、形参、数组的类型,这个记住就行。

另外,使用auto一行声明多个变量时,变量的类型必须相同。因为编译器只对第一个变量进行推导,然后用推导出来的类型定义同一行其他变量。
例子:

auto a = 0, b = 0;//变量的类型必须相同
auto c = 0, d = 0.1;//编译失败,因为c和d的初始化表达式类型不同

你可能感兴趣的:(#,C++入门,c++,开发语言)