Motivation
In many programming situations the amount of storage needed is not know before runtime
When dealing with arrays one solution is to allocate sufficient space to handle the largest case expected (compile time solution)
Another solution is to allocated the needed space at runtime
This can be done using dynamic allocation via the new operator