数组对象

时间:2014-08-30 02:35:12

标签: c++ arrays vector map raspberry-pi

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

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

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

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

我在使用g ++编译器的raspberry pi上使用c ++。

请让我知道你的想法,我非常感谢你。

2 个答案:

答案 0 :(得分:1)

  1. 使用std::set作为对象组。

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

  3. 这应该有效:

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

答案 1 :(得分:0)

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

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] = _________
}

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