VC中函数参数的类型后加&代表什么意思?

在资料上看到,一个函数声明为
int GetAddress(
DWORD& dwAddress
);
这个DWORD&代表什么意思。
而示例代码中,这个函数直接传入DWORD型变量。

DWORD dwIP;
((CIPAddressCtrl*)GetDlgItem(IDC_IPADDRESS1))->GetAddress(dwIP);

请高人解释下。

&就是引用的意思,这样你传给函数的变量,那个函数就可以像操作自己内部变量一样修改你传进去的变量值 .
引用一般用在函数需要有多个返回值的时候,例:
bool GetNumber(int& nX,int& nY)
{
nX = 1;
nY = 2;
return true;
}
如果这样调用
int nX=0,nY=0;
bool bRet = GetNumber(nX,nY);
执行完成后,bRet = true
nX值为1,nY值为2
该函数要返回执行成功还是失败,还要返回两个变量值,这个时候引用是最方便的了。
温馨提示:内容为网友见解,仅供参考
第1个回答  2009-09-23
&就是引用的意思,这样你传给函数的变量,那个函数就可以像操作自己内部变量一样修改你传进去的变量值 .

引用一般用在函数需要有多个返回值的时候,例:

bool GetNumber(int& nX,int& nY)
{
nX = 1;
nY = 2;
return true;
}
如果这样调用

int nX=0,nY=0;
bool bRet = GetNumber(nX,nY);

执行完成后,bRet = true
nX值为1,nY值为2
该函数要返回执行成功还是失败,还要返回两个变量值,这个时候引用是最方便的了本回答被提问者采纳
第2个回答  2009-09-23
加&表示传过去的是一个值的“引用”

DWORD&表示传过去的是一个双字节的地址引用。

在本例里在GetAddress函数内部改变dwAddress的值会同时改变调用时的参数值。
第3个回答  2018-04-13
&就是引用的意思,这样你传给函数的变量,那个函数就可以像操作自己内部变量一样修改你传进去的变量值 .
引用一般用在函数需要有多个返回值的时候,例:
bool GetNumber(int& nX,int& nY)
//将 nX和nY 的地址传入,使函数内nX和nY和函数外nX和nY同一个地址
{
nX = 1;
nY = 2;
return true;
}
如果这样调用
int nX=0,nY=0;
bool bRet = GetNumber(nX,nY);
执行完成后,bRet = true
nX值为1,nY值为2
该函数要返回执行成功还是失败,还要返回两个变量值,这个时候引用是最方便的了。
相似回答