C++11的for循環的新用法


字符串

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

等價於

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;

等價於

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

 

二維vector

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

等價於

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

 

數組

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

等價於

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;

等價於

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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM