Can you give me an example when I can’t pass argument by reference and I need to use pointer. I’ve found an example, but I’m not sure.
Suppose you have a class D derived from the base class B. You need pointer if you want do so:
void function(B* b){...}
int main{
D* d;
function(d);
}
The single time where you can not use a reference and must use a pointer is if you allow the concept of “no argument” by passing a null pointer.
However, you might want to use pointers as arguments when you are actually storing a pointer to whatever was passed. Most C++ developpers will notice that you aren’t using a reference and pay special attention to what your documentation says.