C++11 关键字auto
来源:互联网 发布:参加淘宝聚划算的条件 编辑:程序博客网 时间:2024/05/20 06:23
- 在那些情况下要申明类型
定义变量类型
函数返回值,函数参数
表达式返回变量类型
auto关键字原理
在定义变量的时候必须申明类型,c++是强语言类型,在编译阶段需要知道类型,这样的好处是程序效率更高,而动态语言不需要类型申明的需要自推导变量类型。使用了auto是不是c++效率会变慢?完全不是,因为在编译阶段编译器已经帮程序员推导好了变量的类型。前提条件是编译器可以根据当前的程序的状态推导出变量类型。只是编译器更加智能,我猜想编译时间岂不更长了。
auto关键字使用场景场景一,申明普通变量
auto num = 10;
场景二,函数返回值,如果没有auto,总是要巧那么长的返回值,有了auto关键字后,是不是心里感觉很爽。
vector str_vec;vector::iterator it_old = str_vec.begin();auto it_new = str_vec.begin();
场景三,申明函数返回值auto add(int a, int b)->int { return a + b;}
auto使用需要注意的几个问题
1、使用auto关键字的变量必须有初始值,编译器才能推导出变量类型。2、在传递const变量的时候,使用auto必须自己加const
const int a =10;auto b = a; // b的类型是intconst auto c = a; // c 的类型是const int
3、关于很奇葩的函数返回值
auto关键字只能在函数的返回值使用auto关键字,并且在函数尾还需要标注返回类型
这样看起来很奇葩,莫不如不用auto关键字,但我认为委员会的人没这么闲,上google查了下,有下面两条原因:
1、他们认为把返回值放在函数后面更好看(特别是返回值很长的时候)
2、C++14将会把讨人烦得返回值去掉,编译器直接支持自推导
。
0 0
- C语言-auto关键字
- 关键字auto 含义 -- C
- C++11 关键字auto
- C++ 11 关键字auto
- C++11 auto关键字
- C++11:auto关键字
- C/C++中涉及存储方式的关键字:auto,static,register,extern2009-01-22 11:23auto关键字:
- 第一章 C语言关键字 - auto和register
- C语言关键字 - auto和register
- C语言关键字 - auto和register
- C语音关键字auto,static,register区别
- C语言关键字--- auto static register
- C语言关键字 - auto和register
- <C语言>auto和register关键字
- C语言auto、register、static、extern关键字
- C++11 auto关键字介绍
- C++11特性:auto关键字
- C++11特性:auto 关键字
- 遂宁看男科去哪个医院好
- SQL连接查询2 外连接(左右联接查询)
- cocos2dx学习笔记(新建工程)
- 房管局和各家各户几个和方的观点个地方官地方个电饭锅电饭锅
- Iterator的简单用法
- C++11 关键字auto
- C#中的事件 一看即明
- ThreadLocal
- 风个和风格和风格化是的方法士大夫的观点符合风格和规范化非共和国
- VC 运行时库 /MD、/MDd 和 /MT、/MTd
- Windows下编译webrtc
- 规范和个符合风格化个和风格和风格化个符合风格化
- 34个美丽生活小窍门
- struts2--frameset之间跳转显示的问题(解决方案)