前兩天沒事干,重拾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