C++ 的几个for 循环,范围for语句
我認(rèn)為做嵌入式開發(fā)也需要學(xué)習(xí)C++開發(fā),可能我們學(xué)習(xí)的不只是一種編程語言,而是一種編程思想,C++相對(duì)于C語言來說,會(huì)需要更多的想象力,原因就是C++的特點(diǎn)太多了。
不過,我們可以通過學(xué)習(xí)C++的知識(shí),來掌握面向?qū)ο蟮木幊趟枷?#xff0c;有了這樣的思想后,再去看代碼或者去做自己的項(xiàng)目,是非常有幫助的。
這個(gè)號(hào)是我的僚機(jī)號(hào),會(huì)發(fā)一些大號(hào)發(fā)不了、或者沒有檔期發(fā)的內(nèi)容,歡迎大家關(guān)注。
C++新標(biāo)準(zhǔn)提供的范圍for語句.這種語句遍歷給定序列中個(gè)元素并對(duì)序列中每一個(gè)值執(zhí)行某種操作,其語法形式是:
for(declaration?:?expression)statement其中,expression部分是一個(gè)對(duì)象,用于表示一個(gè)序列。declaration部分負(fù)責(zé)定義一個(gè)變量,該變量將用于訪問序列中的基礎(chǔ)元素。每次迭代,declaration部分的變量會(huì)被初始化為expression部分的下一個(gè)元素值。
例子:
#include?<iostream>using?namespace?std;int?main() {string?str("this?is?a?c++");//每行輸出str中的一個(gè)字符for(auto?c?:?str)cout<<c<<endl;system("pause");return?0; }?代碼輸出:
t h i si sac + + 請(qǐng)按任意鍵繼續(xù).?.?.代碼中的 auto 關(guān)鍵字讓編譯器來決定 c的類型,每次迭代后,str的下一個(gè)字符賦值給 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 + + 請(qǐng)按任意鍵繼續(xù).?.?.第三種方法
#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 + + 請(qǐng)按任意鍵繼續(xù).?.?.第四種方法
使用STL函數(shù),需要包含頭文件哦。
#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?+?+?請(qǐng)按任意鍵繼續(xù).?.?.寫代碼的籃球球癡
微信掃描二維碼,關(guān)注我的公眾號(hào)?
總結(jié)
以上是生活随笔為你收集整理的C++ 的几个for 循环,范围for语句的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: kuangbin专题-平整数组
- 下一篇: 一个漂亮的电子钟,纪念我们逝去的青春(含