this post was submitted on 08 Jul 2023
16 points (100.0% liked)

C++

1777 readers
1 users here now

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

Rules

founded 1 year ago
MODERATORS
 

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!

you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 2 points 1 year ago (1 children)

It doesn’t “forward to”, it is a way to say “ehi, this data X is located at …”

Imagine having a big large data structure that takes up a lot of space. You have to pass it a function to perform some operations, but if pointers didn’t exist you would have to clone those data - which is expensive memory wise and probably time wise to. So instead of wasting either space or time, you simply pass a memory address to that data and using it you can access the original data.

Obviously if you have primitive data structures, such as integers, or that you know that aren’t expensive to clone, you can simply pass by value and call it a day (somewhere on learncpp theee is a very nice explanation of all of this)

[–] [email protected] 1 points 1 year ago (1 children)

I’ll be searching learnccp for your reference. Thanks! Also huge thanks to everyone who keeps pouring the knowledge in! You guys rock!

[–] [email protected] 1 points 1 year ago

I’ll be searching learnccp for your reference

I have never used the learncpp site, IMHO you should use https://en.cppreference.com/w/ which is written by a guy that is really invested in the language.