别名为数组

时间:2011-02-06 18:09:51

标签: c++

我有一个具有数组属性的对象,比如说(*obj).some_array;,其中some_array是一个整数数组。

我知道我们可以像这样简单地使用别名:

int test = 10;
int &alias = test;

但是,我如何对一个对象的数组进行别名,类似于上面的但是对于obj的some_array?

2 个答案:

答案 0 :(得分:7)

如果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 ++中将别名称为引用

答案 1 :(得分:0)

假设some_array是一个整数数组:

int *alias = obj.some_array;