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!

11 points

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.

permalink
report
reply
5 points
*
Deleted by creator
permalink
report
parent
reply
10 points

My advice is to learn pure C and make a few small programs with it. You’ll see very soon why pointers are necessary.

permalink
report
reply
9 points
*
Deleted by creator
permalink
report
reply
8 points

There are things you’ll want to do that will eventually require pointers. For example, as soon as you want a type that contains a reference that could be rebound, you need a pointer.

If you want to implement polymorphism you’ll need pointers. If you instead want type erasure, you’ll need pointers to implement your type erasure container.

Sure it’s possible to implement a lot without pointers, but the code will be harder to write and will probably be slower.

permalink
report
reply
6 points
*

A really simple way you can look at pointers is like this: every time you want to see my house, I could rebuild a complete copy of my house for you, but wouldn’t it be easier if I could give you a note with my house’s address so you could just visit it there?

In the second example, the note is an analogy for a pointer.

permalink
report
reply

C++

!cpp@programming.dev

Create post

The center for all discussion and news regarding C++.

Rules

  • Respect instance rules.
  • Don’t be a jerk.
  • Please keep all posts related to C++.

Community stats

  • 149

    Monthly active users

  • 263

    Posts

  • 535

    Comments