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 日

7 千 + 查看

开启你的 职业生涯

完成课程以获得认证

开始
广告
© . All rights reserved.