1.说明
- 为啥把他们放在一起呢?因为我认为他们都给编程人员提供了编码的便利,编码量减少。
- 基于范围的for循环就是以前的for循环简化版
- auto是类型推导,让使用者获得动态语言的使用体验;但是有区别,那就是auto声明的变量类型,你可以不知道,但是编译器一定要知道,这样才不会报错。
- 程序调试运行在clion2019.3版本,c++11环境下
2.例子
1.auto
int x;
auto y;//报错,这个y未初始化,所以编译器也不知道auto声明的这个y是什么类型,也就不能自动推导出来。
- auto常用于容器的iterator的推导,省了好多字。
- auto不能用在函数参数内的类型推导,原因也是参数被调用的时候才会传入,初始化,而auto要求写下的时候编译器就能判断出来要推导的类型。
void fun(auto a)//错误的用法
{
}
2.综合例子
#include <iostream>