C/C++教程

【C++】范围for (C++11)

本文主要是介绍【C++】范围for (C++11),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

语法

C++ 98中如果要遍历一个数组,可以按照以下的方式:

void Testfor()
{
	int array[] = { 1,2,3,4,5 };
	for (int i = 0; i < sizeof(array) / sizeof(array[0]); ++i)
	{
		array[i] *= 2;
	}
	for (int* p = array; p < array + sizeof(array) / sizeof(array[0]); ++p)
	{
		cout << *p << endl;
	}
}

C++ 11使用范围for:

void Testfor2()
{
	int array[] = { 1,2,3,4,5 };
	for (auto& e : array)
	{
		e *= 2;
	}
	for (auto e : array)
	{
		cout << e << endl;
	}
}

使用条件

  1. for 循环迭代的范围必须是确定的
    对于数组而言,就是数组中第一个元素和最后一个元素的范围;
    对于类而言,应该提供begin和end的方法,begin和end就是for循环迭代的范围。

在数组传参时,数组会降维成指针。此时不能使用范围for
在这里插入图片描述

  1. 迭代的对象要实现++和==的操作。
这篇关于【C++】范围for (C++11)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!