以下がメモリリークなしで意図したとおりに機能することを確認したい:
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
範囲外になると完全にクリアされることはわかっていますが、それはここでの質問のポイントではありません。