"int*(&arry)[10] = ptrs;"是什么意思?你怎么看这样的?

Tho*_*hor 2 c++ arrays pointers reference declaration

我是C++的新手,正在尝试学习数组的概念.我知道

int *ptrs[10]; 
Run Code Online (Sandbox Code Playgroud)

有ptrs的含义是一个十点指向int的数组.那怎么样

int *(&arry)[10] = ptrs;
Run Code Online (Sandbox Code Playgroud)

我对它的语法很困惑,所以有人可以向我解释它的含义是什么以及如何阅读它?如果有人可以将其分解并以较小的部分进行解释,那将是很棒的.

son*_*yao 5

arry是一个引用(指向int的十个指针的数组).使用typedef可以使它更清楚.他们是一样的,

typedef int* PTRS[10]; 
PTRS& arry = ptrs;
Run Code Online (Sandbox Code Playgroud)

或者(从c ++ 11开始)

using PTRS = int* [10];
PTRS& arry = ptrs;
Run Code Online (Sandbox Code Playgroud)

  • 或者,在现代C++中,`使用PTRS = int*[10];` (3认同)