别名为数组

app*_*ple 3 c++

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

我知道我们可以像这样简单:

int test = 10;
int &alias = test;
Run Code Online (Sandbox Code Playgroud)

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

peo*_*oro 7

如果obj->some_array是类型int[LEN]你可以做:

int (&alias)[LEN] = obj->some_array;
Run Code Online (Sandbox Code Playgroud)

要理解这种奇怪的语法,你可以使用顺时针/螺旋规则,这是一种你可以阅读你不熟悉的声明的方法(见这里).

int &alias[LEN](这是相同的int &(alias[LEN]).将数组LEN引用为int.
int (&alias)[LEN]是,相反,到阵列的参考LEN整数


请注意,您所谓的别名在C++中称为引用!