跳转至

for Range新特性

1.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
  }
}

1.2 for Range初始化语句

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