Hey all, teaching myself CPP through a few books (and a little bit of CS in general through CS50) and hit a road block.
I understand what pointers are, and understand they’re a big part of programming. My question is why?
What do you use pointers for? Why is forwarding to a new memory address preferable to just changing the variable/replacing what’s already at the memory address or at a new one? Is it because new data could exceed the size of that address already allocated?
Thanks in advance!
Hi OP, pointers are very powerful. You’ve already seen some responses to your question about why/when to use it, but there’s another cool trick I like to do with pointers. Namely, data hiding with opaque pointers (an application of type erasure). Especially in library code where I don’t want to introduce too many includes in the consuming application, I will hide data and implementation using the pimpl idiom. Another great use case for pointers.
https://en.cppreference.com/w/cpp/language/pimpl