一:增强型for循环之字符串

C++ for(char c:s)遍历字符串
相当于C++的:

for( int i = 0; i < s.length(); i++)
{ 
	s[i]....	
}

使用

for (char c : s)

时会复制一个s字符串再进行遍历操作,而使用

for (char& c : s)

时直接引用原字符串进行遍历操作。由于复制一个字符串花费了大量的时间,所以第二种解法要快于第一种解法。
代码:

#include <stdio.h>
#include <string>
#include <iostream>
int main()
{
	std::string s = "test";
	for (char c:s)
	{
		std::cout << c << " ";
	}
	printf("\n");
	for (char &c : s)
	{
		printf("%c ", c);
	}
	return 0;
}

测试:
在这里插入图片描述

二:增强型for循环之数组

代码:

int main()
{
	int a[6] = { 3,2,1,4,9,0 };
	for (int i : a)
	{
		printf("%d ", i);
	}
	return 0;
}

测试:
在这里插入图片描述
同样也可以采用如下形式
代码:

int main()
{
	int a[6] = { 3,2,1,4,9,0 };
	for (int &i : a)
	{
		printf("%d ", i);
	}
	return 0;
}

测试:
在这里插入图片描述

三:参考文档

增强型for循环

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐