_classA **_TTT[3];
_TTT[n][_num_ttt[n]] = new _classA(3,5);
我可以知道什么是
_TTT[n][_num_ttt[n]]
这个动态数组是如何工作的?如果你能在图形视图中为我提供一个解释,动态指针实际上是如何指向另一个的,以及如何形成 [][]。谢谢。
_classA **_TTT[3];
_TTT[n][_num_ttt[n]] = new _classA(3,5);
我可以知道什么是
_TTT[n][_num_ttt[n]]
这个动态数组是如何工作的?如果你能在图形视图中为我提供一个解释,动态指针实际上是如何指向另一个的,以及如何形成 [][]。谢谢。
_TTT
是三个指向类 A 的指针的静态数组。
_TTT[n]
给了我们一个指向指针的指针,_num_ttt[n]
它只是另一个索引(就像我一样)所以,_TTT[n][i]
最终解析为第 n 个指针数组中指向 _classA 的第 i 个指针。然后将其分配new
到右侧。
捷克语这个MultiDim Arrays 教程,它可能会给你的黑暗房间带来一些光明。
但基本上你只是存储一个数组数组。数组只不过是指向数据点的指针的集合。在 C++ 中,您可以让指针指向其他指针,然后再指向该值。
除非你真的需要它,否则不要使用它,因为许多程序员很快就会被它弄糊涂。一个应用程序是地图或图片,您需要 X/Y 坐标,但您可以通过其他方法更简单地完成操作。