2017-08-24 13 views
1

最近、私は、コードレビューの際に次のコードスニペットを見てきました:構築ローカルオブジェクト - constの参照

const QString& temp("some text"); 
const QString& temp1("some text1"); 

(...) 

if (temp == "whatever") 
{ 
} 

// etc 

、このような一時は私には少し奇妙に見えるので、私は誰が何であるかを説明できるかどうか尋ねると思いましたこのようにオブジェクトを構築することの賛否両論?私はconstオブジェクトのためだけに行くでしょう - 私はそこに何かを見逃しますか?

+0

レビューされたコード_ - それはどういう意味ですか? –

+0

'コードレビュー中' - 文言の謝罪 - 説明を更新しました。 – ARA

+5

正しい人はコードを書いた人です。彼らがなぜそのように書かれたのか正当化できないなら、それは明らかにレビューに失敗するはずです – UKMonkey

答えて

0

もっと良い例を選択できました。参照変数を使用しての

いくつかの利点は次のようになります。

1)参照名は、コードにはいくつかの意味/ドキュメントを追加することができます。たとえば:

const QString& protocol_start("ABC1RQA666T"); 

文字列「ABC1RQA666Tは」かなり無意味ですがprotocol_startは、文字列が何を表すかのよう手がかりの多くを与えることができます。

2)参照が何回も使用される場合は、参照を使用する方が便利かもしれません。

3)参照はすべて結局のところエイリアスなので、かなり安いです。

しかし、いくつかのコードでは、refが複数回参照されていないインスタンスが表示され、ref名でドキュメントの追加価値がほとんどないため、あまり有用ではありません。

+0

いつも 'temp'を値にして、必要に応じてconst参照で渡すことができます。 – AMA

関連する問題