Sak*_*ham 3 c++ arrays pointers new-operator
由于Google省略了一些符号,我对指针的指针感到有点困惑,并且无法找到所需的结果.以下陈述实际上意味着什么
int** arr[10];
Run Code Online (Sandbox Code Playgroud)
它是一个由10个双指针组成的数组,还是指向10个整数指针数组的指针(或两个语句都相同).
以下陈述描述了什么?
*arr[0] = new int(5); //assign the first pointer to array of 10 pointers a memory of 5?
Run Code Online (Sandbox Code Playgroud)
并且是第一个相当于的陈述
int* (*arr)[10];
Run Code Online (Sandbox Code Playgroud)
如果有人清除我的疑虑,将不胜感激.谢谢!
以下陈述实际上意味着什么
它表示指向指针的指针数组int.数组中只有10个元素,每个元素都有一个类型int**.
以下陈述描述了什么?
它首先访问数组中的第一个元素,然后取消引用它以访问int*.第一个元素指向的int指针被指定为指向新分配的内存.新分配的内存保存值为5.
并且是第一个等同于int*(*arr)[10]的语句;
一点都不.int* (*arr)[10];是一个指向数组的指针int*.换句话说,它不是一个数组,它是一个指向数组的指针,它指向的数组包含10个元素int*.