0
_classA **_TTT[3];
_TTT[n][_num_ttt[n]] = new _classA(3,5);

我可以知道什么是

_TTT[n][_num_ttt[n]] 

这个动态数组是如何工作的?如果你能在图形视图中为我提供一个解释,动态指针实际上是如何指向另一个的,以及如何形成 [][]。谢谢。

4

2 回答 2

2

_TTT是三个指向类 A 的指针的静态数组。 _TTT[n]给了我们一个指向指针的指针,_num_ttt[n]它只是另一个索引(就像我一样)所以,_TTT[n][i]最终解析为第 n 个指针数组中指向 _classA 的第 i 个指针。然后将其分配new到右侧。

于 2013-06-25T07:13:06.880 回答
1

捷克语这个MultiDim Arrays 教程,它可能会给你的黑暗房间带来一些光明。

但基本上你只是存储一个数组数组。数组只不过是指向数据点的指针的集合。在 C++ 中,您可以让指针指向其他指针,然后再指向该值。

除非你真的需要它,否则不要使用它,因为许多程序员很快就会被它弄糊涂。一个应用程序是地图或图片,您需要 X/Y 坐标,但您可以通过其他方法更简单地完成操作。

于 2013-06-25T07:14:05.570 回答