Imagine a function like this:
function(Human *&human){
// Implementation
}
Can you explain what exactly a *& is? And what would it be used for? How is different than just passing a pointer or a reference? Can you give a small and explanatory sample?
Thank you.
It is like a double pointer. You’re passing the pointer by reference allowing the ‘function’ function to modify the value of the pointer.
For example ‘human’ could be pointing to Jeff and function could modify it to point to Ann.