auto 关键字(存储类说明符)
auto 关键字声明自动存储类中的变量。
auto declarator ;
备注
在 Visual C++ 2010 之前,auto 关键字声明自动存储类中的变量。 即,具有本地生存期且仅在声明它的块中可见的变量。 自动存储类是块范围变量的默认存储类。
auto 关键字的此定义符合原始 C++ 标准。 使用 /Zc:auto- 编译器选项显式选择该行为。
一些程序员在声明中使用 auto 关键字,因为未使用另一个存储类显式声明的所有块范围的对象都是隐式自动的。 因此,下面两个声明是等效的。
// auto_keyword_storage.cpp
// Compile with /Zc:auto-
int main()
{
auto int i = 0; // Variable i is explicitly declared auto.
int j = 0; // Variable j is implicitly declared auto.
}
初始化
本文档将在自动存储类中声明的变量称作“自动变量”。 自动变量的声明可以包含初始值设定项,如初始值设定项中所述。 如果提供初始值设定项,则每当自动变量进入范围内时,都会对其进行初始化。 由于默认情况下不会初始化自动变量,因此您应在声明它们时对其进行初始化,或在块中为它们分配初始值。 未初始化的自动变量的值是不确定的。