Hey Pavle, great article!
A question I have about the first reason on why to use pointers -
Changing the state of an object - would be, couldn't you, for example, pass the value, change it in a function and return the changed value so the calling function would reassign the original variable with the new returned value?
Wouldn't it change the state of the object as well?
I get the overall point tho, thanks!
Aaron Cohen
Another reason to use pointers is if one method of the API uses a pointer. Best practice is then to have all methods take pointers even if not necessary. That decreases cognitive load on your API consumers.