对象数组

Array of Array of objects

本文关键字:数组 对象      更新时间:2023-10-16

我需要创建一种非常快速的方法来获取对象列表,我认为对象数组的数组可以工作。也许有一种不同的方法可以做到这一点,所以可以随意推荐一种替代的实现方式。

我有一组对象,需要按指定值对其进行分组。例如,我会有一组对象,这些对象需要通过数字10来访问。所以我会用数字10找到一组对象,然后迭代每个对象,对每个对象执行任务。

10 - Object1, Object2, Object3
11 - Object4, Object5

我需要非常快速地访问这些对象,这就是为什么我想到了一个对象数组的数组。我研究过矢量和地图,但并不完全理解它们。

我在一个带有g++编译器的树莓派上使用c++。

请告诉我你的想法,我提前非常感谢你。

  1. 对对象组使用std::set

  2. 使用std::map键入这些组。

这应该有效:

std::map<int, std::set<Object>> objects;

对象数组通常称为矩阵。你可以把矩阵想象成一个网格。这将是访问所有对象的最快、最基本的方法。要创建矩阵,请如下所示声明它。

int matrix[10][10];

现在用对象填充矩阵的每个点

for(int row = 0; row<10;row++){
     for(int column = 0; column<10;column++){
          matrix[row][column] = Obj();
     }
}

现在矩阵已经填充,您可以通过简单的快速循环访问组5

for(int i = 0; i<matrix[].length;i++){
   matrix[4] = _________
}

这将是尝试你正在做的事情最快、最简单的方法。我希望这能有所帮助。