跳转至

for Range 新特性

1 for 结构化绑定

  • 功能:结合 c++17 机构化绑定使用
#include <iostream>
#include <map>
int main(){
  std::map<int, std::string> mp = { {1,"1"},{2,"2"} };
  for (auto&& [first,second] : mymap) {
    // 使用 first 和 second
  }
}

2 for Range 初始化语句

  • 功能:在 for 的 () 内进行初始化
  • 示例
#include <iostream>
#include <vector>
int main() {
    for (auto vec = std::vector{ 1, 2, 3 }; auto v : vec) {
        std::cout << v << " ";
    }
}