К содержимому
learnspaceYOUR NEXT CHAPTER
ПРОСТРАНСТВО ОБУЧЕНИЯ
ГлавнаяКаталог курсовМоё обучениеCoursera

Знания без границ

Учитесь у лучших университетов и компаний мира.

Открыть Coursera
Интеграция
Пространство университета
Моё пространствоСтраница курса
↵
ЯЛичный кабинетСтудент
© 2026 LearnSpaceКаждый день — возможность узнать больше.Помощь
Practical Guide to Mastering C++ Smart Pointers - Part 02 · LearnSpace
Назад в каталог
courseraПрограммирование

Practical Guide to Mastering C++ Smart Pointers - Part 02

Курс от Packt
Средний≈ 9.5 чАнглийский
О курсеНавыкиПрограммаПреподаватели

О курсе

This course features Coursera Coach! A smarter way to learn with interactive, real-time conversations that help you test your knowledge, challenge assumptions, and deepen your understanding as you progress through the course. Memory management is one of the most critical aspects of modern C++ development, and smart pointers are essential tools for writing safe, efficient, and maintainable code. In this course, you will gain a deep understanding of C++ smart pointers, with a strong focus on std::shared_ptr, std::weak_ptr, and std::make_shared. Through practical explanations and real-world examples, you will learn how smart pointers simplify memory management, prevent common errors like memory leaks and dangling pointers, and help you design robust applications. You will begin by exploring the fundamentals of std::shared_ptr, including reference counting, copy semantics, and how shared ownership works in modern C++. The course then demonstrates how to replace traditional raw pointers with smart pointers to eliminate common resource management issues. Through detailed examples, you will also see how smart pointers interact with containers, polymorphism, and multithreading. As the course progresses, you will dive into advanced practical usage such as custom deleters, control blocks, and managing complex resources like file handles, DLL handles, POSIX file descriptors, and Win32 resources. You will also learn how smart pointers behave across DLL boundaries and how std::make_shared optimizes object creation and memory allocation. This course is designed for C++ developers who want to strengthen their understanding of modern C++ memory management techniques. Developers with basic knowledge of C++ programming, pointers, and object-oriented programming will benefit most. The course is suitable for intermediate learners aiming to write safer and more professional C++ code. By the end of the course, you will be able to confidently implement std::shared_ptr, std::weak_ptr, and std::make_shared, manage complex system resources safely, prevent cyclic dependencies, and design efficient memory management strategies in modern C++ applications.

Навыки, которые вы освоите

Memory ManagementC++ (Programming Language)Objective-C (Programming Language)Data SharingDebuggingFile I/OSystem ProgrammingFile ManagementObject Oriented Programming (OOP)

Программа курса

7 модулей · 77 учебных материалов

01Course Introduction2 материалов

Course Introduction

IntroductionВидеоFull Course ResourceЧтение
02std::shared_ptr Fundamentals10 материалов

std::shared_ptr Fundamentals

IntroductionВидео

Учитесь у экспертов

Packt - Course Instructors

Преподаватель курса

Practical Guide to Mastering C++ Smart Pointers - Part 02
В каталоге вашей программы

Инвестируйте в себя

Новые знания — в удобное для вас время.

Начать на Coursera

Обучение откроется на Coursera
в новой вкладке

Обучение на Coursera

≈ 9.5 ч

7 модулей

Язык: Английский

Субтитры: Арабский, Французский, Итальянский, Бразильский португальский, Корейский, Индонезийский, Испанский, Японский

Часть программы вашего университета
std::shared_ptr ExampleВидео
Reference CountingВидео
Copy SemanticsВидео
Return TypeВидео
Arguments - IВидео
Arguments - IIВидео
Arguments - IIIВидео
Understanding Unique and Shared Pointers in Modern C++DIALOGUE
std::shared_ptr Fundamentals - AssessmentЗадание
03Replacing Raw Pointers With shared_ptr12 материалов

Replacing Raw Pointers With shared_ptr

Uninitialized PointersВидеоDangling PointersВидеоMemory Leaks - IВидеоMemory Leaks - IIВидеоContainersВидеоPolymorphism - IВидеоPolymorphism - IIВидеоMultithreading - IВидеоMultithreading - IIВидеоSummaryВидеоSolving Raw Pointer Pitfalls with Shared PointersDIALOGUEReplacing Raw Pointers With shared_ptr - AssessmentЗадание
04Practical Usage12 материалов

Practical Usage

Introduction to Control BlockВидеоReference Counting RevisitedВидеоDeleter - IВидеоDeleter - IIВидеоManaging File PointerВидеоManaging Win32 File HandleВидеоManaging Win32 ATOMВидеоManaging DLL HandleВидеоManaging POSIX File DescriptorВидеоMore Complex Resource ManagementВидеоManaging Resources with std::shared_ptr and Custom DeletersDIALOGUEPractical Usage - AssessmentЗадание
05Deleter Internals9 материалов

Deleter Internals

Deleter Internals - IВидеоDeleter Internals - IIВидеоC Runtime in DLL - IВидеоC Runtime in DLL - IIВидеоC Runtime in Static LibraryВидеоunique_ptr Across DLL BoundaryВидеоshared_ptr Across DLL BoundaryВидеоHow Shared Pointer Deleters Work Across Module BoundariesDIALOGUEDeleter Internals - AssessmentЗадание
06std::make_shared11 материалов

std::make_shared

Dynamic Array - IВидеоDynamic Array - IIВидеоConventional Construction - MSVCВидеоConventional Construction - GCC & ClangВидеоIntroducing std::make_sharedВидеоstd::make_shared ConstructionВидеоControl Block - IВидеоControl Block - IIВидеоExamining Control Block Layout in MemoryВидеоEfficient Memory Management with std::shared_ptr and make_sharedDIALOGUEstd::make_shared - AssessmentЗадание
07std::weak_ptr21 материалов

std::weak_ptr

Introduction to Ownership ConceptВидеоShared Ownership - IВидеоShared Ownership - IIВидеоWeak Ownership - IВидеоWeak Ownership - IIВидеоWeak Ownership - IIIВидеоWeak Count - IВидеоWeak Count - IIВидеоAcquiring Temporary Ownership - IВидеоAcquiring Temporary Ownership - IIВидеоAcquiring Temporary Ownership - IIIВидеоCycling Dependency - IВидеоCycling Dependency - IIВидеоCycling Dependency - IIIВидеоCycling Dependency - IVВидеоUsing make_shared & weak_ptr - IВидеоUsing make_shared & weak_ptr - IIВидеоUsing make_shared & weak_ptr - IIIВидеоstd::weak_ptr - AssessmentЗаданиеFull Course Practice AssessmentЗаданиеFull Course AssessmentЗадание