服务器之家:专注于服务器技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - C/C++ - C++11的for循环的新用法(推荐)

C++11的for循环的新用法(推荐)

2022-02-21 15:25lMonster81 C/C++

C++11这次的更新带来了令很多C++程序员期待已久的for range循环,每次看到javascript, lua里的for range,心想要是C++能有多好,心里别提多酸了。这次C++11不负众望,再也不用羡慕别家人的for range了。下面看下C++11的for循环的新用法

字符串

?
1
2
3
string str = "this is a string";
   for(auto ch : str)
        cout << ch << endl;

等价于

?
1
2
3
4
5
6
7
8
for(int i = 0; i < str.size(); i++)
        cout << str[i] << endl;
 
vector
 
vector<int> v = {1, 2, 3, 4, 5};
   for(auto i : v)
    cout << i << endl;

等价于

?
1
2
for(int i = 0; i < v.size(); i++)
    cout << v[i] << endl;

二维vector

?
1
2
3
4
vector<vector<int>> v = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
   for(auto i : v)
    for(auto j : i)
        cout << j << endl;

等价于

?
1
2
3
for(int i = 0; i < v.size(); i++)
    for(int j = 0; j < v[i].size(); j++)
        cout << v[i][j] << endl;

数组

?
1
2
3
int ary[] = {1, 2, 3, 4, 5};
   for(auto i : ary)
        cout << i << endl;

等价于

?
1
2
3
4
5
6
7
8
for(int i = 0; i < 5; i++)
        cout << ary[i] << endl;
 
map
 
map<char, int> m = {{'a', 1}, {'b', 2}, {'c', 3}};
   for(auto t : m)
    cout << t.first << ' ' << t.second << endl;

等价于

?
1
2
for(map<char, int> :: iterator itr = m.begin(); itr != m.end(); itr++)
    cout << itr ->first << ' ' << itr ->second << endl;

到此这篇关于C++11的for循环的新用法的文章就介绍到这了,更多相关C++11 for循环内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://www.cnblogs.com/lMonster81/p/10433840.html

延伸 · 阅读

精彩推荐