Side Effects - are & and * part of them?
Pure functions are supposed to only have contact to the outside world via parameters and return value. Like this we hope to find mistakes more quickly, limiting where we have to look. Now my question: Calls by reference/pointer, do they count as side effects, 'tainting' our formerly pure function, or will our function still be pure? My instinct would say that a call by value or by const reference would be the purity limit; because if we tell the function where it can get the original value and even change it, that should make things less obvious for a bug 'exterminator'. Maybe I'd make a difference between a call by reference and a call by pointer because you explicitly pass an address to a pointer which makes it more obvious in the code. But how is this officially handled?