我们正在尝试使用2D矢量,因为我们需要一个动态增长的2D数组.
我们试过这个:在类声明中:
vector<vector<double> > table;
Run Code Online (Sandbox Code Playgroud)
但是似乎没有分配表格.当我们尝试访问成员时,我们会遇到段错误.
那么我们尝试了这个:
类声明:
vector<vector<double> >* table;
Run Code Online (Sandbox Code Playgroud)
构造函数:
table = new vector<vector<double> >;
Run Code Online (Sandbox Code Playgroud)
但是现在我们之前访问它的方式(使用[] [])不起作用.
我们尝试了一个虚拟类:
class myClass {
public:
myClass();
~myClass();
vector<vector<double> > t;
};
myClass::myClass()
{
t = vector<vector<double> > (10, vector<double>(10));
}
Run Code Online (Sandbox Code Playgroud)
但它不能正常免费,我们得到核心转储.此外,当我们尝试增长数组时,我们将展开构建每个新行.
例如:
t[50] = vector<double>(5);
t[50][10] = 10;
Run Code Online (Sandbox Code Playgroud)
如果我们不这样做,我们会得到一个段错误
在访问元素之前,您需要调整表的大小.
vector<vector<double> > table;
table.resize(10);
for (int i = 0; i < 10; ++i)
table[i].resize(20);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10958 次 |
| 最近记录: |