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

リチャードが言ったように、レコード(&r)とレコード&rは同等です。したがって、重要な違いは、プログラマーの意図をどれだけ効果的に伝えるかということです。個人的には、タイプと名前を区別するのが好きなので、Record&rよりもRecord&rの方が好きです。そうは言っても、レコード(&r)は関数型の構文に非常に似ているので、避けたいと思います。たとえば、Record(&r)()は、rを次のような関数への参照として宣言します。

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