多维数组输出的几种方式(不包括普通for语句和下标运算符)

/*
使用范围for语句和普通for语句与指针方法输出
使用c++11新提供的类型别名申明代替循环控制变量的类型,使得外层循环变量的含义更直观
使用c++11新提供的auto关键字自动推断循环控制变量的类型,降低程序难度
*/
#include"stdafx.h"
#include"iostream"
using namespace std;
using int_array = int[4];
int main()
{

	int ia[3][4] = {0,1,2,3,4,5,6,7,8,9,10,11};
	//使用范围for语句和普通for语句与指针方法输出
	cout << "使用范围for语句输出多维数组的内容:" << endl;	
	for (int (&row)[4] :ia)
	{
		for (int &col : row)
			cout << col << " ";
		cout << endl;
	}

	cout << "利用普通for语句和指针实现多维数组的输出:"<<endl;
	for (int(*p)[4] = ia; p != ia + 3;p++)
	{
		for (int *q = *p; q != *p + 4; q++)
			cout << *q << " ";
		cout << endl;
	}

	//使用c++11新提供的类型别名申明代替循环控制变量的类型,使得外层循环变量的含义更直观
	cout << "使用范围for语句输出多维数组的内容:" << endl;
	for (int_array &row : ia)
	{
		for (int &col : row)
			cout << col << " ";
		cout << endl;
	}

	cout << "利用普通for语句和指针实现多维数组的输出:" << endl;
	for (int_array *p = ia; p != ia + 3; p++)
	{
		for (int *q = *p; q != *p + 4; q++)
			cout << *q << " ";
		cout << endl;
	}

	//使用c++11新提供的auto关键字自动推断循环控制变量的类型,降低程序难度
	cout << "使用范围for语句输出多维数组的内容:" << endl;
	for (auto  &row : ia)
	{
		for (auto  &col : row)
			cout << col << " ";
		cout << endl;
	}

	cout << "利用普通for语句和指针实现多维数组的输出:" << endl;
	for (auto p = ia; p != ia + 3; p++)
	{
		for (auto q = *p; q != *p + 4; q++)
			cout << *q << " ";
		cout << endl;
	}

	getchar();
	return 0;
	
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值