我是C++的新手,正在嘗試學習數組的概念。我知道「int *(&arry)[10] = ptrs;」是什麼意思?你怎麼看這樣的東西?
int *ptrs[10];
具有ptrs的含義是指向int的十個指針的數組。那麼如何
int *(&arry)[10] = ptrs;
我很困惑它的許多語法,所以有人請向我解釋它是什麼意思,以及如何閱讀它?如果有人能夠將其分解並以更小的部分解釋,那將是一件好事。
我是C++的新手,正在嘗試學習數組的概念。我知道「int *(&arry)[10] = ptrs;」是什麼意思?你怎麼看這樣的東西?
int *ptrs[10];
具有ptrs的含義是指向int的十個指針的數組。那麼如何
int *(&arry)[10] = ptrs;
我很困惑它的許多語法,所以有人請向我解釋它是什麼意思,以及如何閱讀它?如果有人能夠將其分解並以更小的部分解釋,那將是一件好事。
arry
是一個參考(指向int的十個指針的數組)。使用typedef
可以使其更清楚。它們是相同,
typedef int* PTRS[10];
PTRS& arry = ptrs;
或(因爲C++ 11)
using PTRS = int* [10];
PTRS& arry = ptrs;
或者,在現代C++中,'使用PTRS = int * [10];' – kfsone
可變arry
是十個指針的數組,以整數參考。我不知道你爲什麼要這樣做,但這就是它的意思。 :-)
FWIW,[cdecl.org](http://cdecl.ridiculousfish.com/?q=int+*%28%26arry%29%5B10%5D%3B)告訴你究竟是什麼'int *( &arry)[10];'是。儘管有些事情需要進行分組,並且在做某些事情時做出反應,但我從來沒有遇到過[螺旋規則](http://c-faq.com/decl/spiral.anderson.html)中的問題。它而不是螺旋。 – chris
@chris哦哇!我不知道這樣有用的網站存在。感謝您指出了我,真的appreicate它! – Thor
@chris:我不會說它確切地告訴你*它是什麼。它有自己奇怪的語法,雖然它比C和C++聲明更清晰一些,但它並不完全是英文的。 –