自动存储持续性
在默认情况下,在函数中声明的函数参数和变量的存储持续性为自动,作用域为局部,没有链接性。
如果在代码块中定义了变量,则该变量的存在时间和作用域将被限制在该代码块内。
int main()
{
int teledeli = 5;
{
cout << "Hello\n";
int websight = -2;
cout << websight << '' << teledeli << endl;
}
cout << teledeli << endl;
return 0;
}
在 C++11 中,关键字
auto
用于自动类型推断。但在 C 语言和以前的 C++ 版本中,auto
的含义截然不同,它用于显式地指出变量为自动存储:auto float ford;
由于只能将关键字
auto
用于默认为自动的变量,因此程序员几乎不使用它。它的主要用途是指出当前变量为局部自动变量。在 C++11 中,这种用法不再合法。制定标准的人不愿引入新关键字,因为这样做可能导致将该关键字用于其他目的的代码非法。考虑到
auto
的老用法很少使用,因此赋予其新含义比引入新关键字是更好的选择。