In a recent assignment for a data structures class, we we're expected to use this "*&" in a function parameters list. I am having trouble finding info on why this exists, and even what it does. Is it standard practice to use this?
Here's a code snippet
template <class T>
Thing <T> * action(const T &dataIn, Thing <T> *& thingIn)
{
if(thingIn == NULL)
{
Node <T> *newThing = new Thing <T> (dataIn);
newThing->ptr = thingIn;
thingIn= newThing ;
return(newThing );
}
}
I guess another part of my question is, why use "*&" at all couldn't you just send the pointer?
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…