我有一个具有数组属性的对象,比如说(*obj).some_array;
,其中some_array是一个整数数组。
我知道我们可以像这样简单地使用别名:
int test = 10;
int &alias = test;
但是,我如何对一个对象的数组进行别名,类似于上面的但是对于obj的some_array?
答案 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;