const 参照: C の型指定子の前と後の配置
C では、const 参照指定子 (const Fred&) を前に配置するか後に配置するかを選択できます。型指定子 (Fred const&)。これらは意味的には同一に見えますが、配置はスタイル上の影響を与える可能性があります。
意味上の同等性
構文的には、const Fred& と Fred const& は同じ型、つまり Fred オブジェクトへの定数参照を表します。コンパイラはこれらを互換的に解釈するため、意味上の違いは排除されます。
文体の好み
ただし、意味的には無関係ですが、スタイルに関しては好みが分かれます。プログラマーの中には、C プログラミング言語の本や C 標準との整合性を理由に、const を型指定子 (const Fred&) の前に置くことを好む人もいます。 K&R による C プログラミング言語と C 標準で使用されているスタイルからインスピレーションを得て、型指定子のポスト配置 (Fred const&) を主張する人もいます。
const Fred&
Strroustrup が C ブックで採用したスタイルに従います。- で使用されているスタイルに準拠します。 C 標準。
-
Fred const& の利点
K&R の独創的な C 本で使用されている構文と一致しています。- C で採用されているスタイルを反映しています。
- 置き忘れのリスクを軽減できる可能性があります
- 文字 (const* T ではなく T const など)。
解析に関する考慮事項
右から左への解析ルールは、スタイルの選択に影響を与えることがよくあります。ただし、const Fred& は、定数 Fred オブジェクトへの参照として、右から左に意味のある解析ができることにも注意してください。さらに、Fred const* は、「定数 T へのポインタ」ではなく「T へのポインタ定数」として解釈された場合、あいまいさを引き起こす可能性があります。
結論
最終的に、const Fred& と Fred const& のどちらを選択するかが決まります。個人的な好みまで。ただし、C および C コミュニティで確立された規約を考慮すると、const Fred& の人気が若干優れているようです。
以上がconst Fred& または Fred const&: C ではどちらの配置が優先されますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。