Hacker News new | ask | show | jobs
by treewalking 1290 days ago
They use pass by value but objects are reference valued.
1 comments

Yes, I understand... But the result, practically speaking, is objects are passed by reference, just like I said. Methods/functions can modify their parameters.
But you cannot change the reference itself which is possible in languages like C, C++, C#, and many more.
It's been a while, but my understanding was that actual C++ references were immutable, and what you are describing can only happen as a result of passing a pointer by value.
Yeah, you cannot 'reassign' a reference. The compiler will yell at you if you try. You can definitely modify values of your referenced object though, that's fair game. When it comes to pointers you can do whatever the hell you want but be careful.