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!

  • observantTrapezium
    link
    fedilink
    01 year ago

    IMHO pointers (raw or smart) are barely necessary in modern C++. In many cases, references and standard library classes like std::vector do whatever pointers do, but without the manual memory management. I use pointers for interacting with C libraries and in HIP/CUDA. In “pure” C++ the only thing that comes to mind is storing objects of different derived classes in a vector.