在 C++ 中,auto 关键字的作用是什么?


Auto 是 C++ 从 C 中“继承”的一个关键字,早已出现,但几乎从未使用过。随着 C++11 中推出 auto 用于根据上下文进行类型推导,这种情况发生了根本性改变。在 C++ 11 之前,每个数据类型都需要在编译时显式声明,这限制了运行时表达式,但 C++ 的新版本中包含了许多关键字,允许程序员将类型推导留给编译器本身。

有了类型推断功能,我们花在编写编译器已知内容上的时间就更少了。由于所有类型仅在编译器阶段推断,因此编译时间会略微增加,但这不会影响程序的运行时间。

auto 关键字指定正在声明的变量的类型将自动根据其初始化程序推断,对于函数,如果它们的返回类型为 auto,那么将在运行时由返回类型表达式对其进行求值。

示例

#include<iostream>
#incllude<vector>
using namespace std;

int main() {
   vector<int> vec(10);       // Auto deduce type to be iterator of a vector of ints.
   for(auto it = vec.begin(); it != vec.end(); vec ++)
   {
      cin >> *it;
   }
   return 0;
}

更新于: 2020 年 2 月 10 日

7K+ 浏览量

开启您的职业

通过完成课程获得认证

开始
广告
© . All rights reserved.