delete навсегда! Вы все еще вручную освобождаете память? Это уже не актуально! Разбираем умные указатели (
std::unique_ptr, std::shared_ptr) и их преимущества. 🔹 std::unique_ptr – для объектов, у которых один владелец. Память освобождается автоматически, когда указатель выходит из области видимости:
#include <memory>
#include <iostream>
int main() {
std::unique_ptr<int> ptr = std::make_unique<int>(42);
std::cout << *ptr << std::endl; // 42
}
🔹 std::shared_ptr – для объектов, у которых несколько владельцев. Когда последний
shared_ptr уничтожается – объект тоже удаляется:
#include <memory>
#include <iostream>
int main() {
std::shared_ptr<int> sp1 = std::make_shared<int>(42);
std::shared_ptr<int> sp2 = sp1; // Теперь два владельца
std::cout << *sp1 << " " << *sp2 << std::endl; // 42 42
}
❌ Забудьте про
new и delete, используйте std::make_unique и std::make_shared. Это избавит вас от утечек памяти. А вы уже полностью отказались от
delete? Пишите в комментариях! 👇 ➡️ @cpp_geek