Darktrace interview question

What's the difference between passing a reference, a pointer or a value to a function in c++?