Я нахожусь в процессе изменения кода, написанного кем-то другим. В одной части кода они использовали указатель на вектор указателей.Указатель на вектор указателей
class2 *pointofclass2 = new class2();
class1 * pointofclass1 = new class1(.....)
pointofclass2->push_back(pointofclass1);
Позже код
delete pointofclass2;
Теперь я думаю, что это вызывает утечку памяти. Я никогда не сталкивался с этим раньше, поэтому не уверен, что это причина или нет? Любая помощь будет принята с благодарностью. Если да, то каков правильный способ освобождения памяти?
Таким образом, 'class2' наследует от' vector'? Вы должны определенно удалить 'pointofclass2' так, как вы это делаете, но вам интересно, остается ли' pointofclass1' где-то в памяти? Он должен быть очищен в деструкторе 'class2'. Откуда вы знаете, что вы просачиваете память? Valgrind? – prelic
A) У меня утечка памяти. например когда я запускаю программу, он продолжает использовать все больше и больше памяти (и это не должно) B) Я получаю, возможно, потерянный от Valgrind, который показывает строку с class1 * pointofclass1 = new class1 (....). – Robert