[英]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.