gpt4 book ai didi

c++ - 在类中声明动态二维 vector

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:11:52 26 4
gpt4 key购买 nike

我们尝试使用二维 vector ,因为我们想要一个动态增长的二维数组。

我们试过这个:在类声明中:

    vector<vector<double> > table;

但是表似乎没有分配。当我们尝试访问成员时出现段错误。

然后我们尝试了这个:

类声明:

    vector<vector<double> >* table;

构造函数:

     table = new vector<vector<double> >;

但现在我们之前访问它的方式(使用 [][])不起作用。

我们尝试了一个虚拟类:

class myClass {
public:
myClass();
~myClass();
vector<vector<double> > t;
};

myClass::myClass()
{
t = vector<vector<double> > (10, vector<double>(10));
}

但它无法正常释放,我们得到了核心转储。此外,当我们尝试增大数组时,我们会明确地构造每个新行。

例如:

t[50] = vector<double>(5);
t[50][10] = 10;

如果我们不这样做,就会出现段错误

最佳答案

在访问元素之前,您需要调整表格的大小。

vector<vector<double> > table;
table.resize(10);
for (int i = 0; i < 10; ++i)
table[i].resize(20);

关于c++ - 在类中声明动态二维 vector ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5279643/

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