Yes, Ricks explanation is correct. In C++ the pointer is only the address of data and
NOT some data. So you need to allocate and free the data by yourself.
This has the advantage that the expensive memory allocation can finetuned by the programmer. The obvious advantage is when you use pointers as input for functions: no new object gets allocated. Another hugh advantage are
type casts which needing good understanding of the topic.