簡體   English   中英

C ++函數參數作為參考

[英]C++ function parameter as reference

我有個問題。 任何人都可以告訴我為什么有人會像這樣聲明參數r

什么是Record&r和Record(&r)之間的區別?

QDataStream& operator>>(QDataStream &s, Record(&r))
{
}

謝謝 :)

Record(&r)Record &r是相同的類型聲明。 我不知道為什么有人會包括括號,除了文體的原因。 也許這是重構遺留下來的一些遺留問題?

正如理查德所說,Record(&r)和Record&r是等價的。 因此,重要的區別在於他們如何有效地傳達程序員的意圖。 我個人更喜歡Record&r over Record&r,因為我喜歡將類型與名稱分開。 也就是說,我會避免使用Record(&r),因為它看起來與函數類型的語法非常相似。 例如,Record(&r)()會將r聲明為對函數的引用,如下所示。

Record f() { }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM