可能重复:
Is there any reason to use the 'auto' keyword in C/C++?变量自动
我读到:
int i;
和
auto int i;
是等同的。如果是这样,C中auto关键字的用法是什么?有什么特别的情况下,汽车更有用吗?还是无法实现自动化的事情?
可能重复:
Is there any reason to use the 'auto' keyword in C/C++?变量自动
我读到:
int i;
和
auto int i;
是等同的。如果是这样,C中auto关键字的用法是什么?有什么特别的情况下,汽车更有用吗?还是无法实现自动化的事情?
自动只是隐含在C中,但由于很少(从未读过)它在实际代码中显式使用,它的含义在C++ 11中已经发生了变化。
自动只是指定自动存储,这意味着变量将超出范围时消失。
Ç (称为自动变量)
的代码块内声明的所有变量都默认为自动的,但这是可以作出了明确与自动关键字。
未初始化的自动变量有一个未定义的值,直到它被分配了一个有效的类型值。 使用存储类寄存器而不是自动提示编译器将该变量缓存在处理器寄存器中。
除了不允许在变量或其任何子组件上使用引用运算符(&)之外,编译器可以自由忽略该提示。 在C++中,执行到达声明位置时会调用自动变量的构造函数。
析构函数在到达给定程序块的末尾时调用(程序块被大括号包围)。
此功能通常用于管理资源分配和释放,如打开然后自动关闭文件或释放内存。见RAII。
这不再是完全准确的,至少对于C++ 11来说是个好主意。 'auto'现在指定类型推断。 – 2012-03-28 16:31:03