do...while() 和 while () 都不能進行基於範圍的迴圈,只能用for 語句。
語法:for( 元素名變數 : 廣義集合)
「元素名變數」可以是引用型別,以便直接修改集合元素的值,也可以是const型別,避免迴圈體修改元素的值
#include #include intmain()其中「廣義集合」就是「range(範圍)」,是一些元素組成的乙個整體;//不能用 auto a{} ;
std::arraya2;
std::vector< int > v = ;
std::vector< std::string > s;
return 0;
}
#include #include intmain();//不能用 auto a{} ;
for(auto i : a)
std::cout << i << " ";
std::cout <<:endl>
for (auto&i : a)
i = 2 *i;
for(auto i : a)
std::cout << i << " ";
return 0;
}
int foo(intarg)
intmain()
else
auto x = 3; //
名字 x 可重用
}switch (int i = rand() % 100
; i)
基於範圍的for迴圈
1.範圍for的語法 在c 98中如果要遍歷乙個陣列,可以按照以下方式進行 void testfor for int i 0 i sizeof array sizeof array 0 i array i 2 for int p array p array sizeof array sizeof a...
基於範圍的for迴圈
在乙個範圍上執行for迴圈 用作對範圍中的各個值 如容器中的所有元素 進行操作的傳統for迴圈更加可讀的等價版本 屬性 可選 for 範圍宣告 範圍表示式 迴圈語句 上述語法產生的 等價於下列 range,begin和 end僅用域闡釋 對範圍表示式求值以確定要迭代的序列或範圍.依次對序列的每個元素...
使用基於範圍的 for 迴圈迭代範圍
許多程式語言支援 for 迴圈的稱之為 for each 的變體,即針對集合中的元素重複一組語句。在 c 11 之前 c 沒有相應的核心語言支援。最接近的特性是來自標準庫中的被稱為 std for each 的通用演算法,它在範圍的所有元素上應用乙個函式。c 11 帶來了對 for each 的語言...