非常简单,就是 for 循环的精简写法
|
1
2
3
|
int
array[5] = { 1, 2, 3, 4, 5 };
for
(
int
& x : array)
x *= 2;
|
对于容器同样可用,比如与 auto 共用时
|
1
2
3
4
5
6
|
std::map
for
( auto i : mm )
{
if
( (*i).first.size() < 3 )
(*i).second.append(
" "
);
}
|
可用的容器有>, <deque>, <forward_list>, <list>, <map>, regex>, <set>, <string>, unordered_map>, <unordered_set>,vector>
for (for-range-declaration:expression)statement
等效于
12345678{auto && __range = ( expression );for(auto __begin = begin-expr, __end = end-expr; __begin != __end; ++__begin ){for-range-declaration = *__begin;statement}}