Heap Pointers Pointers vs References Smart Pointers Stack What Are References Why Use Pointers Why Use References shared_ptr unique_ptr