3

我有个问题。谁能告诉我为什么有人会这样声明参数r

Record& r 和 Record(&r) 有什么区别?

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

谢谢 :)

4

2 回答 2

11

Record(&r)并且Record &r是相同的类型声明。我不知道为什么有人会包括括号,除非出于文体原因。也许它是重构留下的一些杂物?

于 2010-09-20T18:10:37.670 回答
0

正如理查德所说 Record (&r) 和 Record &r 是等价的。因此,重要的区别在于它们如何有效地传达程序员的意图。我个人更喜欢 Record&r 而不是 Record &r 因为我喜欢将类型与名称分开。也就是说,我会避免使用 Record (&r),因为它看起来与函数类型的语法非常相似。例如,Record (&r)() 会将 r 声明为对如下函数的引用。

Record f() { }
于 2010-09-21T03:59:55.700 回答