现代C++(Modern C++)基本用法实践:七、范围遍历

概述

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);
		}
	}
}
posted @ 2023-07-13 12:53  寡人正在Coding  阅读(65)  评论(0编辑  收藏  举报