C++ provides different ways to control data storage in memory. Investigate dynamic memory allocation, which allows memory to grow and shrink with the demands of a program as it is running—as opposed to static memory, which is fixed at runtime. Practice managing memory in a 20-questions-type game and compare the advantages of allocating dynamic memory with pointers versus vectors.