www.gusucode.com > 《C++高级语言程序设计》PPT及全书例子源代码-源码程序 > 《C++高级语言程序设计》PPT及全书例子源代码-源码程序/code/C++例题程序/第6章/s6_13/smain6_13.cpp

    //Download by http://www.NewXing.com
//文件名:smain6_13.cpp
//常引用做参数和返回常引用

#include <iostream>
using namespace std;

typedef int array[10];             //定义数组类型别名

const int &ReturnReference(const array &piArray, int iInt)
{
	int iOther = piArray[iInt];
	//piArray[iInt] = iInt + 1;	//该语句编译时失败,因为是常引用不可修改
	return piArray[iOther];  
}

//测试函数
void main()
{

	int iArray[] = {2, 4, 6, 8, 10, 12, 14, 16, 18, 20}; 

	for (int i=0; i<10; i++)			//显示原数组元素
	{
		cout << iArray[i] << ", ";
	}
	cout << endl;

	int iInt = 2;
	ReturnReference(iArray, iInt); 
	//ReturnReference(iArray, iInt) = 100;//该语句试图改变常引用返回值和常引用数组
	for (i=0; i<10; i++)	
	{
		cout << iArray[i] << ", ";
	}
	cout << endl;
}