Как удаление значения вектора напрямую вызывает утечку памяти? - PullRequest
0 голосов
/ 25 октября 2019

У меня есть два сценария

Object* obj = Vector[0];
delete obj;

В сравнении с

delete Vector[0];

Мне сказали, что более поздние причины вызывают утечку памяти и выход за пределы массива. Как? Разве оба метода не указывают на один и тот же указатель?

1 Ответ

2 голосов
/ 25 октября 2019

Предполагая, что Vector равен std::vector<Object*>, обе версии абсолютно одинаковы и абсолютно хороши. Пока ваш вектор действительно имеет элемент, и вы не пытаетесь читать Vector [0] впоследствии.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...