c++ 11 中for循环新增的用法(基于范围的for循环)
for循环在c++中很常见,在c++11中新增了for的用法,我也是在最近看代码的时候遇见的,在for循环新增的功能中也涉及到了c++11新增的auto,可以自动获取变量类型。
以前的用法:
for(表达式1;表达式2;表达式3)
{//循环的内容
}
c++11中的用法:
for 语句允许简单的范围迭代:
int my_array[5] = {1, 2, 3, 4, 5};
// 每个数组元素乘于 2
for (int &x : my_array)
{x *= 2;cout << x << endl;
}
// auto 类型也是 C++11 新标准中的,用来自动获取变量的类型
for (auto &x : my_array) {x *= 2;cout << x << endl;
}
上面for述句的第一部分定义被用来做范围迭代的变量,就像被声明在一般for循环的变量一样,其作用域仅只于循环的范围。而在":"之后的第二区块,代表将被迭代的范围。
示例:
#include<iostream>
#include<string>
#include<cctype>
using namespace std; int main()
{ string str("some string"); // range for 语句 for(auto &c : str) { c = toupper(c); } cout << str << endl; return 0;
}
上面的程序使用Range for语句遍历一个字符串,并将所有字符全部变为大写,然后输出结果为:
SOME STRING
c++ 11 中for循环新增的用法(基于范围的for循环)相关推荐
- C++11 中的内联函数、auto关键字、for循环及空指针
C++ 3 内联函数 概念 特性 auto关键字 定义 使用 auto与指针结合起来使用 在同一行定义多个变量 auto不能推导的场景 auto不能作为函数的参数 auto不能直接用来声明数组 基于范 ...
- 详解for循环(各种用法)
原文地址为: 详解for循环(各种用法) 常见的for循环一般是一下代码这种结构: for ( int i = 0 ; i < 100 ; i ++ ) { Consol ...
- mysql matlab for循环嵌套循环语句吗_C++: for_each 和 基于范围的for循环
普通的for循环 for_each函数模板 基于范围的for循环 普通用的像: for(int i = 0; i 这种的for循环就不说了, 下面主要说一下后两个,做个笔记. 以后用for循环可以考虑 ...
- C++/C++11中std::string用法汇总
C++/C++11中std::string是个模板类,它是一个标准库.使用string类型必须首先包含<string>头文件.作为标准库的一部分,string定义在命名空间std中. st ...
- python循环语句-详解Python中的循环语句的用法
一.简介 Python的条件和循环语句,决定了程序的控制流程,体现结构的多样性.须重要理解,if.while.for以及与它们相搭配的 else. elif.break.continue和pass语句 ...
- callable object与新增的function相关 C++11中万能的可调用类型声明std::function...
在c++11中,一个callable object(可调用对象)可以是函数指针.lambda表达式.重载()的某类对象.bind包裹的某对象等等,有时需要统一管理一些这几类对象,新增的function ...
- [转载] Python中while循环的基本用法
参考链接: Python while循环 文 | 天罡君 while和for都可以使程序重复执行某一段代码(又称作循环体),区别是for循环用于针对集合中的每一个元素都一个代码块,而while循环在表 ...
- python中循环语句的用法,python几种循环方式
python中while循环的用法是什么? python while循环语句:while 判断条件(condition):执行语句(statements)--执行语句可以是单个语句或语句块. 判断条件 ...
- C++11中=delete的巧妙用法
C++11中,当我们定义一个类的成员函数时,如果后面使用"=delete"去修饰,那么就表示这个函数被定义为deleted,也就意味着这个成员函数不能再被调用,否则就会出错. #i ...
- python的for语句-详解Python中的循环语句的用法
一.简介 Python的条件和循环语句,决定了程序的控制流程,体现结构的多样性.须重要理解,if.while.for以及与它们相搭配的 else. elif.break.continue和pass语句 ...
最新文章
- 面对疫情,在家办公的程序员如何突围
- Community Server系列之四:Ajax在CS2.0中的应用1
- tomcat7 加载el表达式 报错 使用tomcat8得以解决
- matlab求递归问题,matlab利用递归求解差分方程
- Ubuntu中的回车与换行
- Mysql报too many connections详解
- 对付洗稿者的一个脑洞
- 如何使用 jdk帮助文档
- Alien Skin Exposure X7调色滤镜插件,RAW后期处理工具
- 如何通过excel表格批量生成word文档?
- latex标记html样式,latex标题字体大小和样式
- 超级表格终于上线「文件转让」功能!文件调动容易解决!
- mysql orderby asc_MySQL 数据排序 order by
- 记录yarn启动报错
- Win10常见问题【Office等】
- windows记事本自动换行
- 2013, Samara SAU ACM ICPC Quarterfinal Qualification Contest C.Victor‘s Research
- iphone 传android,安卓和苹果手机怎么互传文件_安卓与苹果手机之间互传文件的方法教程_3DM手游...
- 利用Java实现的图片中文字识别,你学会了吗?
- 数字化转型六图法:算法地图
热门文章
- nginx502错误原因解决方法_Got fatal error 1236原因和解决方法
- .dat文件写入byte类型数组_不可不知的可变Java长数组
- c语言输入身高计算标准体重_体质测试 | 身高 / 体重测试评分标准及方法
- 初级药师职称需要考计算机英语吗,药师职称评审政策解读:初级药师不用再考了!...
- 经过事件还是箭头 html,箭头函数不合适什么场景?
- oracle叶子节点函数,oracle tree计算叶子节点到根节点的乘积
- Docker从理论到实践(四)------Dokcer镜像
- (4)二进制文件方式部署Kubernetes高可用集群----------安装kubectl命令行工具
- 使用Mesos和Marathon管理Docker集群
- 原生JavaScript添加format方法 ----占位符