Как инициализировать вектор векторов в структуре?
Если у меня есть матрица NxN
vector< vector<int> > A;
Как его инициализировать?
Я пробовал без успеха:
A = new vector(dimension);
ни:
A = new vector(dimension,vector<int>(dimension));
Ответы
Ответ 1
Вы используете new
для динамического выделения. Он возвращает указатель, указывающий на динамически выделенный объект.
У вас нет причин использовать new
, так как A
- это автоматическая переменная. Вы можете просто инициализировать A
с помощью своего конструктора:
vector<vector<int> > A(dimension, vector<int>(dimension));
Ответ 2
Вот так:
#include <vector>
// ...
std::vector<std::vector<int>> A(dimension, std::vector<int>(dimension));
(Pre-С++ 11 вам нужно оставить пробел между угловыми скобками.)