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循环)相关推荐

  1. C++11 中的内联函数、auto关键字、for循环及空指针

    C++ 3 内联函数 概念 特性 auto关键字 定义 使用 auto与指针结合起来使用 在同一行定义多个变量 auto不能推导的场景 auto不能作为函数的参数 auto不能直接用来声明数组 基于范 ...

  2. 详解for循环(各种用法)

    原文地址为: 详解for循环(各种用法) 常见的for循环一般是一下代码这种结构: for  ( int  i  =   0 ; i  <   100 ; i ++ ) {     Consol ...

  3. mysql matlab for循环嵌套循环语句吗_C++: for_each 和 基于范围的for循环

    普通的for循环 for_each函数模板 基于范围的for循环 普通用的像: for(int i = 0; i 这种的for循环就不说了, 下面主要说一下后两个,做个笔记. 以后用for循环可以考虑 ...

  4. C++/C++11中std::string用法汇总

    C++/C++11中std::string是个模板类,它是一个标准库.使用string类型必须首先包含<string>头文件.作为标准库的一部分,string定义在命名空间std中. st ...

  5. python循环语句-详解Python中的循环语句的用法

    一.简介 Python的条件和循环语句,决定了程序的控制流程,体现结构的多样性.须重要理解,if.while.for以及与它们相搭配的 else. elif.break.continue和pass语句 ...

  6. callable object与新增的function相关 C++11中万能的可调用类型声明std::function...

    在c++11中,一个callable object(可调用对象)可以是函数指针.lambda表达式.重载()的某类对象.bind包裹的某对象等等,有时需要统一管理一些这几类对象,新增的function ...

  7. [转载] Python中while循环的基本用法

    参考链接: Python while循环 文 | 天罡君 while和for都可以使程序重复执行某一段代码(又称作循环体),区别是for循环用于针对集合中的每一个元素都一个代码块,而while循环在表 ...

  8. python中循环语句的用法,python几种循环方式

    python中while循环的用法是什么? python while循环语句:while 判断条件(condition):执行语句(statements)--执行语句可以是单个语句或语句块. 判断条件 ...

  9. C++11中=delete的巧妙用法

    C++11中,当我们定义一个类的成员函数时,如果后面使用"=delete"去修饰,那么就表示这个函数被定义为deleted,也就意味着这个成员函数不能再被调用,否则就会出错. #i ...

  10. python的for语句-详解Python中的循环语句的用法

    一.简介 Python的条件和循环语句,决定了程序的控制流程,体现结构的多样性.须重要理解,if.while.for以及与它们相搭配的 else. elif.break.continue和pass语句 ...

最新文章

  1. 面对疫情,在家办公的程序员如何突围
  2. Community Server系列之四:Ajax在CS2.0中的应用1
  3. tomcat7 加载el表达式 报错 使用tomcat8得以解决
  4. matlab求递归问题,matlab利用递归求解差分方程
  5. Ubuntu中的回车与换行
  6. Mysql报too many connections详解
  7. 对付洗稿者的一个脑洞
  8. 如何使用 jdk帮助文档
  9. Alien Skin Exposure X7调色滤镜插件,RAW后期处理工具
  10. 如何通过excel表格批量生成word文档?
  11. latex标记html样式,latex标题字体大小和样式
  12. 超级表格终于上线「文件转让」功能!文件调动容易解决!
  13. mysql orderby asc_MySQL 数据排序 order by
  14. 记录yarn启动报错
  15. Win10常见问题【Office等】
  16. windows记事本自动换行
  17. 2013, Samara SAU ACM ICPC Quarterfinal Qualification Contest C.Victor‘s Research
  18. iphone 传android,安卓和苹果手机怎么互传文件_安卓与苹果手机之间互传文件的方法教程_3DM手游...
  19. 利用Java实现的图片中文字识别,你学会了吗?
  20. 数字化转型六图法:算法地图

热门文章

  1. nginx502错误原因解决方法_Got fatal error 1236原因和解决方法
  2. .dat文件写入byte类型数组_不可不知的可变Java长数组
  3. c语言输入身高计算标准体重_体质测试 | 身高 / 体重测试评分标准及方法
  4. 初级药师职称需要考计算机英语吗,药师职称评审政策解读:初级药师不用再考了!...
  5. 经过事件还是箭头 html,箭头函数不合适什么场景?
  6. oracle叶子节点函数,oracle tree计算叶子节点到根节点的乘积
  7. Docker从理论到实践(四)------Dokcer镜像
  8. (4)二进制文件方式部署Kubernetes高可用集群----------安装kubectl命令行工具
  9. 使用Mesos和Marathon管理Docker集群
  10. 原生JavaScript添加format方法 ----占位符