繁体   English   中英

通过引用传递时,是否应在函数中保留相同的变量名?

[英]When passing by reference, should you keep the same variable name in the function?

通过引用传递变量时,您应该在函数中保留相同的变量名吗? 例如

int main()
{ 
const int Players = 1000;
array <double, Players> PlayerStrengths;
}

template <typename T, size_t Size>
void GeneratePlayerStrengths(array <T, Size>& _PlayerStrengths) 
{
//-- Logic here --
}

否。它们的名称可能不同。

另外,如果您使用带下划线的大写字母开头的名称,则该行为是不确定的。 不要那样做

通过引用传递变量时,您应该在函数中保留相同的变量名吗?

在一般情况下,没有 或至少没有理由这么做。

实际上,我建议您可能要以其他方式处理该问题,然后说

“调用函数应该使用与调用函数中的参数名称相同的变量名称吗?”

在这种情况下,答案可能是

例如,如果要发送消息的api使用名为msg的参数,则您可能希望您的调用函数使用相同的变量名

然而,最重要的规则是,你在呼唤应该是有意义的功能的情况下的功能,以及在调用函数的变量名中的变量名应该是有意义在这方面。

例如:

int SendMsg( Msg& msgToSend)
{
// Serialise and transmit message

  return OK;
}


void GenerateAndSendShutdown (void)
{
   //You could call this msgToSend, but it wouldnt make the code any clearer
   Msg shutdownCmd = "Shutdown";
   SendMsg (shutdownCmd);
}

在您的特定情况下,我想说如果它们相同的话就很有意义。

传递的变量有两种类型:形式参数(如视为函数参数),例如void func(int&formalarg)和实际参数(如调用函数时传递的参数),例如func(actualarg),其中,aractarg可以是整数,也可以不是整数类型。 如果类型不同,则必须将强制转换运算符从其他实际参数类型转换为int(期望的形式参数类型)。 如果两种类型相同,则为了使程序易于阅读,保持相同的名称可以使程序在遵循有意义的命名约定的前提下更加优雅地被理解。 希望这可以帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM