插入容器

时间:2013-10-25 15:32:05

标签: c++ containers deque

这可能是一个愚蠢的问题,我只需要一些建议。我有一个名为map的int矢量向量,它包含一个整数值,显然有一个与地图上的位置相对应的位置。我要做的是创建一个名为gridLoc

的结构的双端队列
struct gridLoc{
    int x;
    int y;
    int rubble;
};

我发现你不能创建一个struct gridLoc x,将它推到双端队列上,然后改变那个x并再次将它推到双端队列中并在双端队列中有两个不同的结构。什么是在双端队列中获得任何数量的不同结构的最佳方法?我需要创建一个结构数组,只需插入不同的数组索引。我的课程时间和记忆都很大,所以我想要考虑最好的方法。

2 个答案:

答案 0 :(得分: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);
    }
}

答案 1 :(得分:1)

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