User Program Communication
Functions and Objects
Searching for: Collect in C++
Smart pointers are pointers that are deallocated for you, as opposed to having to make sure you 'delete' or 'free' the pointer.
To store a reference is to store an address in the memory of a variable. A pointer is a variable itself and has a value whereas a reference only has a variable that it is referencing.