根据我的类笔记,你可以像在 C++ 中分配一个数组
int *A = new int[5]
其中 A
是指向数组的指针。
但随后您可以作为 A[3]
访问该数组。为什么你能做到? A
不是指针而不是实际的数组吗?
最佳答案
索引 operator[]
实际上被定义为在指针上工作,而不是在数组上工作。 A[3]
实际上是 *(A+3)
的同义词。它适用于数组,因为数组可以隐式转换为指向其第一个元素的指针。
关于c++ - 指针和动态分配的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8762315/