C++关键字:auto
2007-11-16 13:17
323 查看
很少有程序员在声明时使用auto关键字,因为在块的范围内目标不是显式的声明就是隐式的声明为自动的存储类型。因此,下面2个声明是等效的:
{
auto int i; // 显式的声明为auto.
int j; // 隐式的声明为auto.
}
auto存储类型说明:
auto存储类型说明符声明了一个自动变量,即一个只在块运行时有效的变量。一个auto变量仅在声明它的块内是可见的。
auto变量的声明能包含初始化。因为有auto存储类型的变量并不自动的初始化,你应该在声明时显式的初始化它们,或在同一个块内赋给它们初始值。未初始化的auto变量的值是未定义的。(一个本地的auto或register存储类型的变量在每次
程序运行到它的范围时都会被初始化,如果初始值被给定的话)
一个内部的static变量(一个本地或块内的静态变量)能通过任何的外部的地址或静态的元素被初始化,但不能通过一个auto元素,因为auto元素的地址不是一个常数。
这个这个关键字用于声明变量的生存期为自动,即将不在任何类、结构、枚举、联合和函数中定义的变量视为全局变量,而在函数中定义的变量视为局部变量。这个关键字不怎么多写,因为所有的变量默认就是auto的。
{
auto int i; // 显式的声明为auto.
int j; // 隐式的声明为auto.
}
auto存储类型说明:
auto存储类型说明符声明了一个自动变量,即一个只在块运行时有效的变量。一个auto变量仅在声明它的块内是可见的。
auto变量的声明能包含初始化。因为有auto存储类型的变量并不自动的初始化,你应该在声明时显式的初始化它们,或在同一个块内赋给它们初始值。未初始化的auto变量的值是未定义的。(一个本地的auto或register存储类型的变量在每次
程序运行到它的范围时都会被初始化,如果初始值被给定的话)
一个内部的static变量(一个本地或块内的静态变量)能通过任何的外部的地址或静态的元素被初始化,但不能通过一个auto元素,因为auto元素的地址不是一个常数。
这个这个关键字用于声明变量的生存期为自动,即将不在任何类、结构、枚举、联合和函数中定义的变量视为全局变量,而在函数中定义的变量视为局部变量。这个关键字不怎么多写,因为所有的变量默认就是auto的。
相关文章推荐
- 你好,C++(11)如何用string数据类型表示一串文字?根据初始值自动推断数据类型的auto关键字(C++ 11)
- C++新特性-auto关键字
- 初学C++ 之 auto关键字(IDE:VS2013)
- C/C++中涉及存储方式的关键字:auto,static,register,extern
- C++ 11 标准 新增的Lambda表达式、for_each语法,改变了auto关键字的意义
- (转载)你好,C++(11)如何用string数据类型表示一串文字?根据初始值自动推断数据类型的auto关键字(C++ 11)
- C++ auto关键字
- C++ 11 标准 新增的Lambda表达式、for_each语法,改变了auto关键字的意义
- C++ 深入理解 auto 关键字
- C++的auto关键字
- C/C++中涉及存储方式的关键字:auto,static,register,extern
- C++复习第四天 auto关键字
- c++: C++ auto 关键字的使用
- C++之auto关键字
- C++新特性auto关键字的理解与使用
- C++中关键字auto和decltype的区别
- C++ 11 关键字auto
- C/C++中auto、static、register、extern关键字区别小结
- C++新特性-引入关键字auto
- C++ auto 与 register、static 关键字 浅析