c++ - 存储二维对象数组的最佳方法是什么?

标签 c++ multidimensional-array

<分区>

我想在 MxN 表中存储 C++ 对象,并且我想像这样创建对象:

Vector2D<MyObject*> objects = new Vector2D<MyObject*>(M,N);
MyObject* obj = new MyObject;
objects.add(i,j, obj);

稍后,我应该以类似的方式访问这些项目。 请给我建议最好的想法,而不仅仅是方法。我认识的很少。 :)

编辑: 基本上我需要的是,只需为通用对象的 MxN 网格分配内存。只需添加/检索具有给定行和列的项目。

最佳答案

看来您来自 C++ 领域的 Java 或 C# 世界。欢迎。在 C++ 中,你有自动存储对象,你不必 new 一切。如果您还有 Vector2D 类,这就足够了。

Vector2D<MyObject> objects(M,N);
MyObject obj;
objects.add(i,j, obj);

否则你可以通过 std::vector 制作一个二维 vector :

std::vector<std::vector<MyObject>> objects;

关于c++ - 存储二维对象数组的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20211053/

相关文章:

c++ - 具有外部说明符的全局变量的循环依赖

javascript - 如何以编程方式创建递增到定义数字、重置为零并再次递增的 3D 数组?

arrays - 对角线阵列输入

c++ - 从 UDP 流读取时 ffmpeg 出错

c++ - 两个几乎相同的调用,一个有效,一个失败

c++ - 如何检测我的代码是否使用 -fno-exceptions 进行编译?

c++ - std::string 容量大小

c++ - 如何在类中分配多维数组?当行 > 列时会抛出错误?

php - 按多列对多维数组进行排序

C:传递二维数组的一维会导致段错误