12、C++11 for循环使用注意事项

  1. 当使用 for 循环遍历某个序列时,无论该序列是普通数组、容器还是用{ }大括号包裹的初始化列表,遍历序列的变量都表示的是当前序列中的各个元素
  • 并不是迭代器。
  1. 基于范围的 for 循环可以遍历普通数组、string字符串、容器以及初始化列表。除此之外,for 循环冒号后还可以放置返回 string 字符串以及容器对象的函数。
  • 但是不能遍历用指针表示的数组。
  1. 当基于范围的 for 循环遍历的是某函数返回的 string 对象或者容器时,整个遍历过程中,函数只会执行一次。
  //遍历函数返回的 string 字符串
      for (char ch : retStr()) {  //retStr()只执行一次
          cout << ch;
      }
  1. 基于关联式容器(包括哈希容器)底层存储机制的限制:
  • 不允许修改 map、unordered_map、multimap 以及 unordered_multimap 容器存储的键的值;
  • 不允许修改 set、unordered_set、multiset 以及 unordered_multiset 容器中存储的元素的值。

你可能感兴趣的:(C++11,c++)