如果我有NxN矩阵
vector< vector<int> > A;
我应该如何初始化它?
我尝试过没有成功:
A = new vector(dimension);
既不:
A = new vector(dimension,vector<int>(dimension));
答案 0 :(得分:109)
您使用new
执行动态分配。它返回一个指向动态分配对象的指针。
您没有理由使用new
,因为A
是一个自动变量。您只需使用其构造函数初始化A
:
vector<vector<int> > A(dimension, vector<int>(dimension));
答案 1 :(得分:14)
像这样:
#include <vector>
// ...
std::vector<std::vector<int>> A(dimension, std::vector<int>(dimension));
(Pre-C ++ 11你需要在有角度的括号之间留下空格。)