gpt4 book ai didi

c++ - 序列 vector

转载 作者:行者123 更新时间:2023-11-30 01:01:21 30 4
gpt4 key购买 nike

我有这个数据结构 Seq,它继承了类 vector 但有一些额外的功能。使用这个数据结构 Seq 我有这个预定义的数据结构:

typedef Seq< vector<int> > MxInt2d;

我现在想要一个包含多个 MxInt2d 类型组件的 vector ;我在想类似的事情:

MxInt2d* loops;

只是我想我必须初始化这个 vector ,但我没有它的构造函数。我应该写一个构造函数来初始化它吗?


所以如果一方面我有以下数据结构的声明:

    MxInt2d myEdges_;

然后初始化。另一方面,我的变量循环声明:

 vector<MxInt2d> loops;

如果我想在循环 [0] 中复制 myEdges_ 的前 5 个元素,我将使用语法:

for (int i=0;i<5;i++)
loops[0].push_back(myEdges_[i]);

程序已编译,但当我运行它时,我收到一条总线错误消息。如果我将初始化用于第二个循环,则会发生同样的事情:

for (int i=0;i<5;i++){
loops[1].push_back(myEdges_[i]);
}

(抱歉我的错误判断,我真的是 vector 新手)马达丽娜

最佳答案

在进入你的问题之前——一个观察:

您要继承 vector 吗?导出 vector 不是一个好主意。所有标准的 STL 容器都缺少虚拟析构函数,并且从没有虚拟析构函数的类公开继承是 C++ 的主要禁忌。

关于c++ - 序列 vector ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/751104/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com