C++ 的几个for 循环,范围for语句

我认为做嵌入式开发也需要学习C++开发,可能我们学习的不只是一种编程语言,而是一种编程思想,C++相对于C语言来说,会需要更多的想象力,原因就是C++的特点太多了。

不过,我们可以通过学习C++的知识,来掌握面向对象的编程思想,有了这样的思想后,再去看代码或者去做自己的项目,是非常有帮助的。

这个号是我的僚机号,会发一些大号发不了、或者没有档期发的内容,欢迎大家关注。


C++新标准提供的范围for语句.这种语句遍历给定序列中个元素并对序列中每一个值执行某种操作,其语法形式是:

for(declaration : expression)statement

其中,expression部分是一个对象,用于表示一个序列。declaration部分负责定义一个变量,该变量将用于访问序列中的基础元素。每次迭代,declaration部分的变量会被初始化为expression部分的下一个元素值

例子:

#include <iostream>using namespace std;int main()
{string str("this is a c++");//每行输出str中的一个字符for(auto c : str)cout<<c<<endl;system("pause");return 0;
} 

代码输出:

t
h
i
si
sac
+
+
请按任意键继续. . .

代码中的 auto 关键字让编译器来决定 c的类型,每次迭代后,str的下一个字符赋值给 c

看看比较正常的 for 语句

#include <iostream>using namespace std;int main()
{string str("this is a c++");for(int i = 0;i<str.length();i++)cout<<str.at(i)<<endl;system("pause");return 0;
} 

输出:

t
h
i
si
sac
+
+
请按任意键继续. . .

第三种方法

#include <iostream>using namespace std;int main()
{string str("this is a c++");for(auto i = str.begin(); i!= str.end();++i)cout<<(*i)<<endl;system("pause");return 0;
} 

输出

t
h
i
si
sac
+
+
请按任意键继续. . .

第四种方法

使用STL函数,需要包含头文件哦。

#include <iostream>
#include <algorithm>
#include <vector> using namespace std;int main()
{string str("this is a c++");for_each(str.begin(),str.end(),[](char item){cout<<item << " ";});system("pause");return 0;
} 

输出

t h i s   i s   a   c + + 请按任意键继续. . .

写代码的篮球球痴

微信扫描二维码,关注我的公众号 

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

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

相关文章

​我敢说,这是最全的常用设计模式汇总

今天&#xff0c;想跟大家聊聊代码能力的提升。想起我刚入行那会&#xff0c;怀抱满腔激情&#xff0c;到处学热门框架&#xff0c;但实际上受限于公司体量和业务逻辑&#xff0c;其实往往用不上&#xff0c;时间久了&#xff0c;不用就忘记了&#xff0c;于是在日复一日的工作…

Meterpreter Guide

转载&#xff1a;http://wooyun.jozxing.cc/static/drops/tips-10146.html 0x01 入门篇(生成与接收) 功能介绍 msfpayload和msfencode已经被时代淘汰了现在都转为msfvenom了 msfvenom命令行选项如下&#xff1a;Options:-p, --payload payload> 指定需要使用的…

跟老肖聊天

今天跟一个创业的朋友老肖聊天&#xff0c;聊完之后有点沉重老肖是我的朋友&#xff0c;我讲的都是基于真实的内容&#xff0c;如果觉得我是吹牛或者过分如何&#xff0c;可以绕道&#xff0c;也请嘴下留情。老肖因为公司不景气&#xff0c;这两天出去面试&#xff0c;面试了三…

SSM中(Spring-SpringMVC-Mybatis)(一:概念)

一&#xff1a;Spring&#xff1a; 参照我的另一篇博客&#xff1a; http://www.cnblogs.com/GH0522/p/8127530.html 二:SpringMVC: 流程图&#xff1a; SpringMVC接口解释 DispatcherServlet&#xff1a; Spring提供的前端控制器&#xff0c;所有的请求都有经过它来统一分…

C++实现一个栈

我们先说下栈的知识&#xff0c;先看下我们之前写的文章栈&#xff0c;C语言实现如何自己实现一个栈堆和栈的区别&#xff08;转过无数次的文章&#xff09;这是一个栈这是我们把数据入栈的操作这是数据出栈的操作之前僚机号里面发了一个用C实现的栈文章&#xff0c;比较简单&a…

JavaScript——文档对象模型

一、基本概念 文档对象模型&#xff08;DOM&#xff09;是表示文档和访问、操作构成文档的各种元素的应用程序接口&#xff08;API&#xff09;。它解决了NetScape的JavaScript和Microsoft的JavaScript之间的冲突&#xff0c;给web设计师和开发者一个标准的方法&#xff0c;可让…

你搞清楚「NULL」、「0」、「'0'」、「0」「\0」了吗?

我们先讨论NULL&#xff0c;平时使用指针的时候&#xff0c;会经常遇见这个家伙&#xff0c;这个家伙的值是是这样定义的#define NULL 0 或者 #define NULL (void *)0我们看一下下面这段代码#include <stdio.h>int main () {size_t ii;int *ptr NULL;unsigned long *nul…

周五跟大佬喝酒,顺便打了个球

这是前天发生的事情&#xff0c;昨天写好了文章&#xff0c;今天才发出来&#xff0c;但是名字还是想写成昨晚小聚。昨晚逍遥和啊尚过来找我打球&#xff0c;很开心&#xff0c;虽然酝酿了好久关于这次的活动&#xff0c;但是它真的发生时&#xff0c;我还是显得有些突兀和紧张…

安装Cygwin

Cygwin安装 宗旨&#xff1a;技术的学习是有限的&#xff0c;分享的精神是无限的。 下载cygwin&#xff1a;https://www.cygwin.com/ 箭头指的地方点一下就是安装该软件&#xff0c;开始要安装的一些软件&#xff0c;gcc&#xff0c;gdb&#xff0c;make&#xff0c;ssh等等。…

飞机上一般是什么操作系统?

之前波音737MAX空难失事事件牵动人心&#xff0c;让人对航空出行又平添了一份不信任&#xff0c;根据最新消息显示&#xff0c;美国联邦航空局对737 MAX机型的大量评估授权给波音公司自身进行&#xff0c;安全评估存在严重缺陷。也传出了波音737 MAX客机的培训都是通过平板电脑…

排查一个触摸屏驱动问题

今天跟同事看一个TP驱动&#xff0c;上电后日志都正常&#xff0c;但是触摸没反应&#xff0c;然后开始排查。上电后可以正常读到芯片的chip ID&#xff0c;那说明I2C是通讯正常的&#xff0c;也可以说明触摸芯片的供电也是正常的。基于这个&#xff0c;我搬来示波器&#xff0…

vmware安装ubuntu

vmware安装Ubuntu 宗旨&#xff1a;技术的学习是有限的&#xff0c;分享的精神是无限的。 &#xff08;1&#xff09; 单击”Power on this virtual machine”开始安装Ubuntu系统 经过一段时间的等待出现如下界面,单击”Install Ubuntu”进行安装 在安装的时候&#xff0…

AWS 免费套餐

https://amazonaws-china.com/cn/free/ 需要的可以看下&#xff0c;我准备搞一个RDS。 转载于:https://www.cnblogs.com/hupo376787/p/8268562.html

C++指针的应用

C指针 文章中我们介绍了指针的基本概念和应用简介。我们有提到指针可以使用在链表、队列和二叉树&#xff0c;等等。但是这些都会比较复查&#xff0c;后面"数据结构” 时&#xff0c;我们会用专门的章节来讲解这些知识。这篇文章&#xff0c;详细的探讨一下指针和其他关联…

Matplotlib——创建散点图

入门&#xff1a; 导入所用到的包 import numpy as np import matplotlib.pyplot as plt as 是对包起一个名字&#xff0c;便于后边程序的编写无颜色差别 figplt.figure() #建立一个画布 axfig.add_subplot(111) #在画布中建立图表&#xff0c;fig.add_subplot(…

vmwaretools安装

vmwaretools安装 宗旨&#xff1a;技术的学习是有限的&#xff0c;分享的精神是无限的。 vmware的作用&#xff1a;windows和linux之间文件拖文件很方便&#xff0c;但是我一般是使用samba服务器&#xff0c;后面介绍samba服务器。 &#xff08;1&#xff09;单击菜单栏上的”…

机器学习——支持向量机主要思想

概念&#xff1a;支持向量运算的分类器&#xff0c;在数据上应用基本形式的SVM分类器就可以得到低错误的结果&#xff0c;能够对训练集以外的数据点做出很好的分类决策。 名词&#xff1a; 支持向量&#xff1a;离分离超平面最近的那些点&#xff0c;需要找到最大化支持向量到分…

哇、、、、C++ 实现单向链表

之前相关的文章 C语言&#xff0c;链表 Linux内核链表 #什么是链表 链表是一种基本的数据结构&#xff0c;之前我在C语言里面写过链表的知识&#xff0c;现在延申到C&#xff0c;不管是什么语言&#xff0c;链表表示的是一种数据结构&#xff0c;跟语言没有强相关性的。 如果我…

vmware与windows共享文件夹

vmware与windows共享文件夹 宗旨&#xff1a;技术的学习是有限的&#xff0c;分享的精神是无限的。 虚拟工具安装好之后&#xff0c;我们就可以在windows和linux设置一个共享目录了,继续看图干活。 设置好共享目录以后&#xff0c;打开终端输入以下命令&#xff0c;就可以再…

asp.net如何取得纯客户端控件的值

例一&#xff1a;纯客户端控件 <input name"edisundong"type"text">在服务器端取得的方法 stringstrvalueRequest.Form.Get("edisundong");例二&#xff1a;纯客户端控件 <input type"radio"name"sex"value"…