插入容器

Inserting into Containers

本文关键字:插入      更新时间:2023-10-16

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

struct gridLoc{
    int x;
    int y;
    int rubble;
};
我发现你不能创建一个结构 gridLoc x,将其推到双端面上,

然后更改该 x 并再次将其推到双端面上,并且在双端面中有两个不同的结构。在 deque 中获得任意数量的不同结构的最佳方法是什么?我是否需要创建一个结构数组并只插入数组的不同索引。我的班级在时间和记忆方面都很大,所以我正在尝试想出最好的方法来做到这一点。

这工作得很好:

#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);
    }
}

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