概述
c++ 的for循环在语法上有些刻板,近几个版本对此进行了优化,支持了基于范围的for循环
用法举例
参考测试项目代码ModernCppTest/modrenc_range_for.cpp
主要内容:
- 数组遍历
- vector遍历
- 字符串遍历
- map遍历
#include "ModernCppTestHeader.h"
#include <vector>
#include <map>
void range_for_test()
{
LOG_FUNC();
LOG_TAG("数组遍历");
{
int a[] = { 1,2,3 };
for (int i : a)
{
LOG_VAR(i);
}
}
LOG_TAG("标准容器vector遍历");
{
std::vector<int> a = { 4, 5, 6 };
for (int i : a)
{
LOG_VAR(i);
}
}
LOG_TAG("字符串遍历");
{
std::string s = "hello";
for (char c : s)
{
LOG_VAR(c);
}
}
LOG_TAG("map遍历");
{
std::map<std::string, int> m = {
{"jack", 18},
{"ben", 24},
{"lucy", 28},
};
for (const auto& p : m)
{
LOG("p key = " << p.first << " value = " << p.second);
}
}
}
标签:遍历,LOG,int,Modern,C++,TAG,VAR
From: https://www.cnblogs.com/hggzhang/p/17545448.html