前两天没事干,重拾C++的一些书籍,翻到引用这,无意写了些DD:
其实引用和指针有很多相似的地方,又有不同的(太多了,不过说到效率上,比如函数传参数,我们可以用引用,指针,哪种好呢,引用不必为站再分配空间了,而指针还学要分配4字节的空间给指针变量)
我们知道如何引用一个变量,比如:
int a = 10;
int &b= a; //OK
那么如何引用一个数组呢:
我们想想指针是如何实现的呢
int a[10]={0};
int (*p)[10]=a;//p是一个指针,指向的是有十个整形元素的数组 ,int* p[10]则表示的是p是一个数组,他的每个元素都是整形指针类型的变量
OK ,于是我们想到了会不会这样引用数组的呢,试试看吧:
int (&b)[10]=a;
cout<<b[1]<<endl;
那么多位数组呢,我们是不是可以类推一下呢:
int main()
{
//fun();
int a[5][5]={1,2,3,4,5,6,7,8,9,0};
int (&b)[5][5]=a;
printf("%d",b[0][0]);
return 0;
}
The program being