码迷,mamicode.com
首页 > 编程语言 > 详细

C/C++中的auto关键词

时间:2017-04-20 10:48:13      阅读:151      评论:0      收藏:0      [点我收藏+]

标签:ext   dex   关键字   emma   data   map   ++i   code   存储   

C语言


auto被解释为一个自动存储变量的关键字,也就是申明一块临时的变量内存。
例如:
auto double a=3.7;
表示a为一个自动存储的临时变量。

C++语言

C++ 98标准/C++03标准

同C语言的意思完全一样:auto被解释为一个自动存储变量的关键字,也就是申明一块临时的变量内存。

C++ 11标准

在C++11标准的语法中,auto被定义为自动推断变量的类型。例如:
auto x=5.2;//这里的x被auto推断为double类型
 
map<int,int>m;
for(auto it=m.begin();//这里it被auto推断为map<int,int>::iterator类型
it!=m.end();++it)
{
//....
}
 
不过C++11的auto关键字时有一个限定条件,那就是必须给申明的变量赋予一个初始值,否则编译器在编译阶段将会报错。
 
结论:在一些C C++要兼容的代码里最好不要使用auto关键词,否则会因为意义不同而出错

C/C++中的auto关键词

标签:ext   dex   关键字   emma   data   map   ++i   code   存储   

原文地址:http://www.cnblogs.com/vanishfan/p/6736834.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!