C++ Intermediate · Lesson 02 of 8
Smart pointers
unique_ptr, shared_ptr, weak_ptr, ownership diagrams.
Estimated time · 5h
Guided lesson
Work through these steps
- 1.
Read the smart pointers example and identify what each line owns or changes.
- 2.
Create a small source file, compile with warnings enabled, and run it from the terminal.
- 3.
Change one input, predict the result before running, then compare the output.
- 4.
Record one compiler or runtime error and explain the correction in your own words.
Example
Try it yourself
auto driver = std::make_unique<MotorDriver>();
auto monitor = std::make_shared<StatusMonitor>();Practical exercise
Apply the lesson
Build a small robotics-flavoured program that demonstrates smart pointers. Keep the first version simple, compile with -Wall -Wextra, and test one normal and one edge case.
Before you continue
- The program builds without warnings
- You can explain the key rule without reading the example
- The normal and edge cases both have recorded results