序列for循环语句

序列for循环语句

序列for循环语句允许重复遍历一组序列,而这组序列可以是任何可以重复遍历的序列,如由begin()和end()函数定义的STL序列。所有的标准容器都可用作这种序列,同时它也同样可以是std::string,初始化列表(list),数组,以及任何由begin()和end()函数定义的序列,例如输入流。这里是一个序列for循环语句的例子:

     void f(const vector& v){for (auto x : v) cout << x << ‘n’;for (auto& x : v) ++x;    // 使用引用,方便我们修改容器中的数据}

可以这样理解这里的序列for循环语句,“对于v中的所有数据元素x”,循环由v.begin()开始,循环到v.end()结束。又如:

   for (const auto x : { 1,2,3,5,8,13,21,34 })cout << x << ‘n’;

begin()函数(包括end()函数)可以是成员函数通过x.begin()方式调用,或者是独立函数通过begin(x)方式调用。

(译注:好像C#中早就有这种形式的for循环语句,用于遍历一个容器中的所有数据很方便,难道C++是从C#中借用过来的?)

或参见:

  • the C++ draft section 6.5.4 (note: changed not to use concepts)
  • [N2243==07-0103] Thorsten Ottosen:
    Wording for range-based for-loop (revision 2).
  • [N3257=11-0027 ] Jonathan Wakely and Bjarne Stroustrup: Range-based for statements and ADL (Option 5 was chosen).

转载于:https://www.cnblogs.com/VindyLeong/p/4201673.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/459865.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

mysql批量用trim限定_如何使用trim()并更新mysql中的所有行[复制]

{"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],"search_count":[{"count_phone":4,"count":4}]},"card":[{"des":"阿里云数据库专家保驾护航&#xff0c;为用户…

C#中用WMI实现对驱动的查询

using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Management; using System.Text; using System.Threading.Tasks; using System.Windows.Forms;namespace WMI_驱动…

01C语言的概述

一、计算机常识在学习C语言之前&#xff0c;先要了解一些计算机常识1.计算机只能识别0和1大家都知道&#xff0c;计算机要通电才能工作&#xff0c;说白了&#xff0c;它跟电视、洗衣机一样&#xff0c;都是电器。电器都有个共同的能力&#xff1a;懂得判断通电还是断电&#x…

mysql5.7物理备份_Mysql5.7—运维常用备份方式

一、 Mysqldump备份结合binlog日志恢复使用mysqldump进行全库备份&#xff0c;并使用binlog日志备份&#xff0c;还原时&#xff0c;可以使用binlog日志恢复到备份前的任意位置或时间1. Binlog简介主要用于主从复制和恢复数据库&#xff0c;使用mysqlbinlog命令查看binlog二进制…

XAMPP on Mac 组态 Virual Host

首先&#xff0c;在hosts文件中添加virtual host域名。方向127.0.0.1 我一般使用的命名约定dev-domainname.comsudo nano /private/etc/hosts # VirtualHosts Mapping 127.0.0.1 dev-domainname.com接下来配置Apache。打开Apache的配置文件 /Applications/XAMPP/etc/httpd.conf…

二叉查找树之二

BST树的经典问题 首先构造如下一棵二元查找树&#xff08;BST树&#xff09;&#xff1a; C代码实现&#xff1a; typedef struct _BSTreeNode {int value;struct _BSTreeNode *left;struct _BSTreeNode *right;} BSTreeNode;static BSTreeNode* insert(BSTreeNode* q, int x) …

mysql 停止服务内存_服务器莫名的内存高占用 导致 MySQL 停止运行问题

这问题是年后开始出现的&#xff0c;服务器内存占用越来越高&#xff0c;一度达到90%&#xff0c;最后 MySQL 都停止运行了。贴吧签到的数据库用户 ID 这一项也丢失了&#xff0c;导致无法签到&#xff0c;断签了好些天&#xff0c;被提醒才发现&#xff0c;要挨打的。幸好设置…

LeetCode - Convert Sorted Array to Binary Search Tree

给出一个已排序的数组&#xff0c;将其转化为二叉查找树&#xff08;BST&#xff09;。 思路&#xff1a;取数组中间元素为根结点的value&#xff0c;则数组左侧、右侧分别为BST的左子树、右子树。递归可求解。代码如下&#xff1a; 1 /**2 * Definition for binary tree3 * …

匿名包装器(function(){})()

转载自***&#xff1a;https://bonsaiden.github.io/JavaScript-Garden/zh/#function.scopes只有一个全局作用域导致的常见错误是命名冲突。在 JavaScript中&#xff0c;这可以通过 匿名包装器 轻松解决。(function() {// 函数创建一个命名空间window.foo function() {// 对外…

PS滤镜绘制漂亮线条制作

先看最后效果   1&#xff0e;新建一图层&#xff0d;&#xff0d;&#xff0d;选择画笔画条垂直线&#xff08;颜色为白色&#xff09;。  2&#xff0e;滤镜里面的动感模糊&#xff08;大小视效果而定吧&#xff09;  3&#xff0e;两头细的线条出来了  执行后效果如…

ffmpeg.exe 笔记

2019独角兽企业重金招聘Python工程师标准>>> open_input_file: avformat_open_input 打开了输入文件 av_dict_get 获取信息 setup_find_stream_info_opts avformat_find_stream_info codec avcodec_find_decoder open_output_file avformat_alloc_output_context2(…

java comparator排序顺序_Java 集合排序策略接口 Comparator

1. 前言 最近用到了集合排序&#xff08;基于 Java 8&#xff09;。现在我能用 Stream 的就用 Stream &#xff0c;真香&#xff01;排序可以这么写&#xff1a; List<People> peoples new ArrayList<>();// 中间省略// 按照年龄从小到大排序 peoples.sort(Compar…

关闭IOS更新功能(ios4/5/6)

防止IOS升级&#xff1a; 工具&#xff1a;ifunbox 展开/System/Library/LaunchDaemons&#xff0c;将下面4个文件删除&#xff08;不推荐&#xff09;或者改名&#xff08;后缀也得改&#xff09;,改名后记得必须重启。 com.apple.mobile.softwareupdated.plist - OTA升级&…

TCP/IP、Http的区别

2019独角兽企业重金招聘Python工程师标准>>> TPC/IP协议是传输层协议&#xff0c;主要解决数据如何在网络中传输&#xff0c;而HTTP是应用层协议&#xff0c;主要解决如何包装数据。关于TCP/IP和HTTP协议的关系&#xff0c;网络有一段比较容易理解的介绍&#xff1a…

如何在Ubuntu下安装 monodevelop

参考介绍 http://www.monodevelop.com/download/linux/ 首先&#xff0c;Add the Mono Project GPG signing key sudo apt-key adv --keyserver pgp.mit.edu --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF 其次&#xff0c;Add the package repository echo "d…

百度地图定位地址为空

在使用百度地图定位的时候&#xff0c; BDLocation 不为空&#xff0c;但是&#xff0c;城市&#xff0c;地址各个字段都为空&#xff0c;需要设置option.setAddrType("all");全部代码为&#xff1a; mLocClient new LocationClient(this);mLocClient.registerLocat…

小程序循环里做字符串拼接_昨天还在for循环里写加号拼接字符串的那个同事,今天已经不在了...

引言都说 StringBuilder 在处理字符串拼接上效率要强于 String&#xff0c;但有时候我们的理解可能会存在一定的偏差。最近我在测试数据导入效率的时候就发现我以前对 StringBuilder 的部分理解是错误的。后来我通过实践测试 找原理 的方式搞清楚了这块的逻辑。现在将过程分享…

【T-SQL系列】新的排序函数

【T-SQL系列】新的排序函数 原文:【T-SQL系列】新的排序函数如&#xff1a;ROW_NUMBER、RANK、DENSE_RANK三个分析函数都是按照col1分组内从1开始排序 ROW_NUMBER() 是没有重复值的排序(即使两天记录相等也是不重复的)&#xff0c;可以利用它来实现分页 DENSE_RANK() 是连续排序…

java mysql修改表结构字段_【开发技术】java+mysql 更改表字段的步骤

1).首先通过SQL更改MYSQL库中的表结构(下面是一些例子)ALTER TABLE illegalactivate ADD macethaddress varchar(250) NOT NULL;Alter TABLE illegalactivate drop primary key;ALTER TABLE illegalactivate ADD CONSTRAINT PK_illegalactivate PRIMARY KEY ( macaddress…

kbengine通讯协议

通讯协议格式 客户端想要与KBEngine进行通讯需要与KBEngine使用相同的协议&#xff0c;KBEngine通讯协议分为如下两种类型: 确定长度类型: |-----------------------------------------------------------------| Packet | Len: 2Bytes | Len: N …