簡體   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