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!

  • JackbyDev@programming.dev
    link
    fedilink
    arrow-up
    11
    ·
    1 year ago

    Some things are too big to store on the stack and you need them in the heap. Those two words may be gibberish right now but it gives you a new thing to learn.

    • rmam@programming.dev
      link
      fedilink
      arrow-up
      5
      ·
      1 year ago

      Also, objects allocated in the stack have a lifetime and scope that’s tied to the execution of a specific function. When a function needs to access objects from the caller’s scope then either it has to pass it by value, which can be expensive depending on the object, or pass by reference, which is basically the same as passing a pointer.