c++11 中auto 相当方便
2014-05-11 17:04
232 查看
~~~~我的生活,我的点点滴滴!!
在C++11之前,auto关键字用来指定存储期。在新标准中,它的功能变为类型推断。auto现在成了一个类型的占位符,通知编译器去根据初始化代码推断所声明变量的真实类型。各种作用域内声明变量都可以用到它。例如,名空间中,程序块中,或是for循环的初始化语句中。
使用auto通常意味着更短的代码(除非你所用类型是int,它会比auto少一个字母)。试想一下当你遍历STL容器时需要声明的那些迭代器(iterator)。现在不需要去声明那些typedef就可以得到简洁的代码了。
需要注意的是,auto不能用来声明函数的返回值。但如果函数有一个尾随的返回类型时,auto是可以出现在函数声明中返回值位置。这种情况下,auto并不是告诉编译器去推断返回类型,而是指引编译器去函数的末端寻找返回值类型。在下面这个例子中,函数的返回值类型就是operator+操作符作用在T1、T2类型变量上的返回值类型。
在C++11之前,auto关键字用来指定存储期。在新标准中,它的功能变为类型推断。auto现在成了一个类型的占位符,通知编译器去根据初始化代码推断所声明变量的真实类型。各种作用域内声明变量都可以用到它。例如,名空间中,程序块中,或是for循环的初始化语句中。
相关文章推荐
- 顺序栈的c语言实现(程序可运行)。。。2014.5.11
- C语言的BSS段问题
- C语言笔记——32个关键字
- c++ 中private继承
- 移植C/C++代码的十个技巧
- 3. 字符型
- C++中new和malloc的区别
- 2. 浮点型
- 1. 整型
- C语言实现C++的继承和多态
- 【转载】如何使用Visual Studio 2010(VS2010)编译C语言
- 学习C/C++语言:递归求解hanoi汉诺塔问题
- 【转载】使用 VC++ 6.0 的一些提示
- 2. scanf的用法
- c++绘图软件<一>
- C++初学者
- C++将数字转为字符串,并拼接
- 1. printf 的用法
- 学习C/C++语言:递归方法求阶乘
- 关于dup2