汽车

Version <= C++ 03

声明变量以具有自动存储持续时间。这是多余的,因为自动存储持续时间已经是块范围的默认值,并且在命名空间范围内不允许使用自动说明符。

void f() {
    auto int x; // equivalent to: int x;
    auto y;     // illegal in C++; legal in C89
}
auto int z;     // illegal: namespace-scope variable cannot be automatic

在 C++ 11 中,auto 完全改变了含义,不再是存储类说明符,而是用于类型推导