2011-02-06 60 views
2

我有一個對象具有數組屬性,說(*obj).some_array;,其中some_array是一個整數數組。別名到數組

我知道,我們可以簡單的別名,像這樣:

int test = 10; 
int &alias = test; 

但是,又能怎麼樣我別名對象的數組,類似於上述但OBJ的some_array?

回答

0

假設some_array是一個整數數組:

int *alias = obj.some_array; 
+0

我認爲OP是在談論*引用*,而不是*指針* ... – 2011-02-06 18:18:27

+0

@Oli查爾斯沃思說。除了`alias`指向的內容不是`obj.some_array`類型,因爲`obj.some_array`是`int [LEN]`,而`alias`是`int`。 – peoro 2011-02-06 18:21:22

6

如果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++!