C++新特性探究(五):for循环、范围for语句
C++新标准提供的范围for语句.这种语句遍历给定序列中个元素并对序列中每一个值执行某种操作,其语法形式是:
其中,expression部分是一个对象,用于表示一个序列。declaration部分负责定义一个变量,该变量将用于访问序列中的基础元素。每次迭代,declaration部分的变量会被初始化为expression部分的下一个元素值。确保类型相容最简单的办法是使用auto类型说明符。
例1:代码中的 auto 关键字让编译器来决定 c的类型,每次迭代后,str的下一个字符赋值给 c
例2:普通的for语句
例3:
例4:
C++为for提供for range的用法。对于STL(vector/list/map)的遍历带来了极大的书写遍历。
由于expression部分是用花括号括起来的初始值列表、数组或者vector或string等类型的对象。这些类型的共同特点是拥有能返回迭代器的begin和end成员。
例5:
附例5代码:
//小问学编程
#include<iostream>
#include<map>
using namespace std;int main()
{map<int,string> mis;mis[0]="china";mis[1]="america";mis.insert({100,"canada"});for(auto& elem:mis)cout<<elem.first<<":"<<elem.second<<endl;return 0;
}
C++新特性探究(五):for循环、范围for语句相关推荐
- C++新特性探究(十五):bind
相关博文:C++新特性探究(十四):function 相关博文:C++头文件<functional>和bind.placeholders占位符使用简单例子 相关博文:<Essenti ...
- C++新特性探究(13.6):右值引用再探究
相关博文: C++新特性探究(十三):右值引用(r-value ref)&&探究 C++新特性探究(十六):move constructor移动构造 C++新特性探究(13.5):右值 ...
- C++新特性探究(十四):function
相关博文:C++头文件<functional>和bind.placeholders占位符使用简单例子 相关博文:<Essential C++>笔记之设计一个泛型算法(二) 相关 ...
- Java 8新特性探究(二)深入解析默认方法
转载自 Java 8新特性探究(二)深入解析默认方法 什么是默认方法,为什么要有默认方法 简单说,就是接口可以有实现方法,而且不需要实现类去实现其方法.只需在方法名前面加个default关键字即可. ...
- C++新特性探究(9.1):functor仿函数探究
相关博文:C++新特性探究(九):functor仿函数 Functor 对象模拟函数 把类对象,像函数名一样使用. 仿函数(functor),就是使一个类的使用看上去像一个函数.其实现就是类中 ...
- C++新特性探究(13.5):右值引用
相关博文: C++新特性探究(十三):右值引用(r-value ref)&&探究 C++新特性探究(十六):move constructor移动构造 C++新特性探究(13.5):右值 ...
- C++新特性探究(十六):move constructor移动构造
相关博文: C++新特性探究(十三):右值引用(r-value ref)&&探究 C++新特性探究(十六):move constructor移动构造 C++新特性探究(13.5):右值 ...
- C++新特性探究(十三):右值引用(r-value ref)探究
相关博文: C++新特性探究(十三):右值引用(r-value ref)&&探究 C++新特性探究(十六):move constructor移动构造 C++新特性探究(13.5):右值 ...
- C++新特性探究(十):Lambda
一. 匿名函数 简短函数,就地书写,调用.即Lambda存在的意义,常用于取代作回调用的简短函数指针与仿函数. 就地书写,因只有函数体,即无函数名,也称匿名函数. 格式 最小的 Lambda: ...
最新文章
- Spark学习之简介
- 纠结于ajax开发中 response的contentType 问题
- 网站使用mysql_使用网站的mysql
- [转载] 杜拉拉升职记——23 “You deserve it”的两种解释
- Java多线程4:synchronized锁机制
- python爬虫下载模块_python爬虫系列(4.5-使用urllib模块方式下载图片)
- 冒泡、鸡尾酒、选择、插入、归并、快速排序的C++程序
- linux 查看软连接的源头,linux 软连接怎么查看原始地址
- 计算机网络 教学大纲 谢希仁,《计算机网络》教学大纲.doc
- vue-router: 路由传参
- PHP get_class_methods函数用法
- 抽象工厂模式类图及代码示例
- php商城项目开发视频_ThinkPHP开发大型商城项目实战视频_ThinkPHP商城开发案例
- html化学式编辑器,常用的化学式编辑器有哪些?4款化学式编辑器分享
- bin文件夹下的roslyn文件夹
- 程序员:你30岁前的职业规划是什么?未来的职业规划又是什么?
- 技术人的七大必备特质
- 头文件里应该写些什么
- 微信输入法语音转文字设计点
- 基于LM334芯片的恒流源调试
热门文章
- 对Gson解析的理解
- 基于JAVA+Servlet+JSP+MYSQL的在线答疑系统
- 基于JAVA+SpringMVC+Mybatis+MYSQL的高校教学质量评价管理系统
- 7.3联盟最多的服务器,1.7.3 超级服务器inetd和xinetd
- MySQLSyntaxErrorException: Table 'taotao.tbuser' doesn't exist
- 剑指offer--3
- 数据结构与算法 —— 链表linked list(05)
- mysql 以及mysql可视化工具下载安装地址
- SQL 内置排名函数 DENSE_RANK
- 项目记录:solr4.2 在tomcat7 的两种(singlecore + multicore) 配置安装 及solrj 的初步使用...