this post was submitted on 12 Dec 2024
257 points (99.2% liked)
Programmer Humor
32718 readers
626 users here now
Post funny things about programming here! (Or just rant about your favourite programming language.)
Rules:
- Posts must be relevant to programming, programmers, or computer science.
- No NSFW content.
- Jokes must be in good taste. No hate speech, bigotry, etc.
founded 5 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
I mean, Rust has the additional thing that a reference is a pointer + a borrow, so it's not quite as similar to a pass-by-value.
And as for the dereference operator, occasionally you can use it to turn a reference into an owned value, often by making a copy of the value (but in that case, you can usually also use
.to_owned()
).A case where I don't think there's an alternative to the dereference operator, is if you've got a mutable reference and you want to replace the value that's underneath: https://play.rust-lang.org/?version=stable&mode=debug&edition=2021&gist=04621490e1d0fd6fe1af7f2e843547fb
At the very least, if you remove the asterisk, the compiler will tell you very precisely that you need to add it back.
yeah. references aren't the same as pointers in c++ but similar, so it's something along those lines.