Рет қаралды 617
Telegram: t.me/dev_pushkin
Leetcode: leetcode.com/idfumg
GitHub: github.com/idfumg
Cpp (with an issue): gist.github.com/idfumg/644ddf...
Cpp (ok): gist.github.com/idfumg/46aab1...
Memory Leaks.
Сегодня попробуем разобрать причину, почему память потекла в нашем предыдущем видео про Double Linked List, хоть мы и использовали умные указатели, которые должны были помочь нам избежать этого изначально. Нарисуем схематически, что произошло. Подумаем, как починить данную проблему и проверить, что утечек больше нет. Также рассмотрим еще один момент в первой нашей реализации и какие еще подводные камни могут быть, которые приведут к падению нашей программы в некоторых случаях. Не забываем использовать Rule of 5 и определять copy constructor, move constructor, copy assign operator, move assign operator, destructor. Либо, если у нас нет необходимости каким-то образом контролировать копии и мувы, отдаем приоритет Rule of 0 - оставляем дефолтные функции, сгенерированные компилятором.
#c++ #python #go #golang #memory_leaks #programming #data_structures #algorithms #computerscience