我有一個對象具有數組屬性,說(*obj).some_array;
,其中some_array是一個整數數組。別名到數組
我知道,我們可以簡單的別名,像這樣:
int test = 10;
int &alias = test;
但是,又能怎麼樣我別名對象的數組,類似於上述但OBJ的some_array?
我有一個對象具有數組屬性,說(*obj).some_array;
,其中some_array是一個整數數組。別名到數組
我知道,我們可以簡單的別名,像這樣:
int test = 10;
int &alias = test;
但是,又能怎麼樣我別名對象的數組,類似於上述但OBJ的some_array?
假設some_array是一個整數數組:
int *alias = obj.some_array;
如果obj->some_array
的類型爲int[LEN]
,你可以這樣做:
int (&alias)[LEN] = obj->some_array;
要理解這一點,你可以使用Clockwise/Spiral Rule怪異語法,一你可以閱讀你不熟悉的聲明(see here)。
int &alias[LEN]
(這是一樣的int &(alias[LEN])
將是LEN
引用數組爲int。
int (&alias)[LEN]
是,相反,到LEN
整數
注意數組的引用,你叫什麼別名被稱爲參考在C++!
我認爲OP是在談論*引用*,而不是*指針* ... – 2011-02-06 18:18:27
@Oli查爾斯沃思說。除了`alias`指向的內容不是`obj.some_array`類型,因爲`obj.some_array`是`int [LEN]`,而`alias`是`int`。 – peoro 2011-02-06 18:21:22