我想增加2D矢量的列数。这是我的示例代码:
#include <vector>
using namespace std;
int main ()
{
vector < vector <double> > U (5, vector <double> (1, 0));
for (int ii = 0; ii < 5; ii++)
{
U [ii] [0] = ii + 1;
}
U . resize (5, vector <double> (2));
return 0;
}
这会向矢量U添加一个未初始化的列,但我需要将新列初始化为零。我怎么能这样做?
(我使用Dev-C ++ 5.6.3)
答案 0 :(得分:1)
您需要先调整任何现有行的大小,然后更改列数:
for(vector<double> & v : m)
v.resize(v.cend(), <new column count>-<old column count>, 0);
之后添加任何新行:
m.insert(m.cend(), <new row count>-<old row count>, vector<double>(<new column count>, 0));