Advanced C++ Programming Tutorial 6
From Chilipedia
Share your resources in grand style with shared_ptr.
Contents
Topics
Part 1
- Review of
unique_ptr -
shared_ptrusage scenarios -
use_count - How to pass/receive resources when
shared_ptris involved - Comparing
shared_ptrs - Conversion from
unique_ptrtoshared_ptr - Custom deleter for
shared_ptr
Part 2
-
weak_ptrandlock - The control block
- Monolithic
make_sharedcontrol block optimization - Race condition and synchronization
- Resource destruction with monolithic control block
-
static_pointer_castdynamic_pointer_castreinterpret_pointer_castconst_pointer_cast -
enable_shared_from_this
Video Timestamp Index
Homework
Part 1
Identify targets in the Memefighter codebase from Intermediate c++ for resource sharing, implement the sharing with std::shared_ptr, and consider/discuss potential downsides to the resource sharing for each instance of resource sharing. Solution can be found here.
Part 2
Make a simple announcing class, and then use allocate_shared in conjunction with LocalAlloc from Win32 to create an instance of that class that is managed by a shared_ptr with a monolithic control block.