Posts

Covariant Return Type
/
0 Comments
The Covariant Return Type of a member function allows an overriding member function to return a narrower…

The Proxy Pattern
The Proxy Pattern is probably the most influential design pattern for C++. The Proxy provides a placeholder…

The Bridge Pattern
The Bridge Pattern is a structural pattern. It decouples the interface from the implementation. In C++,…

Barriers and Atomic Smart Pointers in C++20
In my last post, I introduced latches in C++20. A latch enables its threads to wait until a counter becomes…

C++ Core Guidelines: Passing Smart Pointers
Passing smart pointers is a critical topic that is seldom addressed. This ends with the C++ core guidelines…

C++ Core Guidelines: Rules for Smart Pointers
There were a lot of C++ experts who said that smart pointers were the essential feature of C++11. Today,…

Atomic Smart Pointers
C++20 will have atomic smart pointers. To be exact, we will get a std::atomic_shared_ptr and a std::atomic_weak_ptr.…

std::weak_ptr
std::unique_ptr models the concept of exclusive ownership, std::shared_ptr the concept of shared ownership.…

Specialities of std::shared_ptr
After I draw the big picture of a std::shared_ptr in the last post, I want to present two special aspects…

std::shared_ptr
std::shared_ptr's share the resource. The shared reference counter counts the number of owners. Copying…