👩‍💻 Управление памятью



Работа с динамической памятью в C++ требует внимательности, особенно при разработке больших программ. Сегодня рассмотрим 3 варианта как не испортить свой скрипт :0



1 — Использование умных указателей:



Такие указатели, как std::unique_ptr и std::shared_ptr, помогают автоматизировать очистку памяти. При использовании std::unique_ptr, объект удаляется автоматически при выходе из области видимости, что предотвращает возможной утечки:

#include <memory>

std::unique_ptr<int> ptr = std::make_unique<int>(10);

std::cout << *ptr; // вывод: 10


Этот подход подходит для простых случаев, когда объект имеет одного владельца



2 — Освобождение памяти:



При динамическом выделении важно вручную освобождать память с помощью delete и delete[] если вам не лень, конечно. А если серьезно, то delete освобождает память только из под указателя ;)

int* arr = new int[10];

delete[] arr; // правильное удаление массива




3 — Ну и если у вас есть висячие указатели:



В таком случае вам нужно будет обнулить указатель, дабы избежать случайного доступа к нему, на самом деле полезно:

int* ptr = new int(5);

delete ptr;

ptr = nullptr; // обнуление




С тебя 🔥 если зашел пост и делись мнением в комментах!




📣 C++ Ready | #практика