我有一个对象具有数组属性,说(*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