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