0

这可能是一个愚蠢的问题,我只需要一些建议。我有一个称为 map 的整数向量的向量,它包含一个整数值,并且显然有一个与地图上的位置相对应的位置。我想要做的是创建一个名为 gridLoc 的结构双端队列

struct gridLoc{
    int x;
    int y;
    int rubble;
};

我发现你不能创建一个 struct gridLoc x,将其推送到双端队列,然后更改该 x 并将其再次推送到双端队列,并在双端队列中有两个不同的结构。在双端队列中获取任意数量的不同结构的最佳方法是什么?我是否需要创建一个结构数组并只插入数组的不同索引。我的课在时间和记忆力上都很重要,所以我试图想出最好的方法来做到这一点。

4

2 回答 2

1

实际上,由于所有插入函数都会复制插入的项目,因此您可以完全按照您的要求进行操作。检查您是否尝试推送实际对象,而不是指针。

于 2013-10-25T15:38:56.210 回答
1

这工作得很好:

#include <deque>

struct gridLoc{
    int x;
    int y;
    int rubble;
};

int main() {
    std::deque<gridLoc> locations;

    for (int i=0; i<10; ++i) {
        gridLoc x = {i, i, i%2};
        locations.push_back(x);
    }
}
于 2013-10-25T15:36:16.977 回答