C++ for(char c:s)遍历字符串 增强型for循环

一:增强型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循环

猜你喜欢

转载自blog.csdn.net/weixin_40162095/article/details/113789907