Я хочу, чтобы убедиться, что следующие работы, как я намереваюсь без утечек памяти:C++ 2D-вектор прозрачный работает по назначению?
vector<vector <float> > X;
for (int i = 0; i < some_size; i++)
{
vector<float> column;
X.push_back(column);
}
// ... use 2D array somehow
X.clear();
/* CALLS DESTRUCTOR OF EACH ELEMENT, BUT SINCE EACH ELEMENT
IS A VECTOR, CLEAR IS RECURSIVELY CALLED ON EACH OF THOSE*/
То есть, это clear()
рекурсивно применяется к векторам векторов из-за clear
являющейся частью деструктор вектора осуществляется?
Я знаю, что X
полностью очищается, когда он выходит из сферы действия, но здесь дело не в этом.
Да. (вставить больше символов) – yngccc
FYI, ваш цикл 'for' может быть упрощен до' X.resize (some_size) 'или вы можете просто создать его как' vector> X (some_size); ' –