2011-02-06 23 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++!