在c ++中将2D数组更改为2D向量

时间:2015-03-20 11:20:33

标签: c++

我想将此数组更改为vector

  len = numberOfPlayer();
  float cost[len][len];

我将此代码更改为以下代码,但它无法正常工作

  vector<vector<float> > cost(len) ;

2 个答案:

答案 0 :(得分:1)

编辑:这回答了发布的原始问题。

假设C ++ 11支持,它应该是

vector<vector<float> > cost = {
    { 1.000000000, 2.000000000, 3.000000000 },
    { 1.000000000, 1.414213562, 2.236067977 },
    { 1.414213562, 1.000000000, 1.414213562 }
};

答案 1 :(得分:0)

如果您希望默认初始化len len矩阵,则可以执行以下操作:

vector<vector<float>> cost(len, vector<float>(len));

这会使用fill constructor创建len vector<float>个,其中每个vector<float>的大小为len,且默认值为float() }})。