TGViewer
C++ geek C++ geek @cpp_geek · 3.53K subscribers
Post #380 1.61K
🔥 C++: умные указатели – избавляемся от 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
  • 👍 6
More from @cpp_geek
  1. Sep 24, 2026🎥 Вебинар по C++: Паттерн многопоточного программирования «Producer-Consumer» Когда неско…
  2. Sep 24, 2026Execution policy для параллельных алгоритмов Execution policy в C++ — это новшество, введе…
  3. Sep 17, 2026В чем разница между git fetch и git pull? Разница между этими командами заключается в том,…
  4. Sep 15, 2026std::tie std::tie — это функция, которая создает кортеж ссылок на lvalue из своих аргумент…
  5. Sep 11, 2026move constructor Move-конструктор — это специальный конструктор, который позволяет эффекти…
  6. Sep 9, 2026Move-only объекты и почему std::unique_ptr нельзя копировать Многие удивляются, когда комп…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →