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;

关于C++11的for循环的新用法的文章就介绍至此,更多相关C++11 for循环内容请搜索编程宝库以前的文章,希望大家多多支持编程宝库

c++类的由来(或者说为什么要增加类):我们知道c语言是面向过程的语言,c++是即面向过程又是面向过程的语言。那么这两个有着什么样的区别和联系呢? C语言和C++的一大区别接下来我们利用c语言的stru ...