求助C++高手!!!!!!!

来源:百度知道 编辑:UC知道 时间:2024/06/15 01:37:08
void FreeLrgInt(IntNode *&LrgInt) ,,这是一个C++函数,我想问的是为什么在用指针作为参数的时候,,还要使用这个引用符号&?,,,,各位高手帮帮忙啊
指针作为参数本身就是传递一个地址给函数了啊,,,为什么还要加一个引用符号&来取地址,,,这好象很多余啊,,,,为什么?

这是一个指针型的引用,类似于双重指针,比如:
void FreeLrgInt(IntNode *&LrgInt)
{
delete LrgInt;
LrgInt = new IntNode(3);//这里重定向了指针
}
main()
{
IntNode* pNode = new IntNode(1);
FreeLrgInt(pNode);//这里pNode的数据被修改了,而且pNode的指向也变了!

int i = pNode->getVal();

}

在用指针的时候
是指想地址的
&这个符号就是代表地址。