C の Const 参照: `const T&` または `T const&` – 違いは何ですか?

Barbara Streisand
リリース: 2024-11-14 18:23:02
オリジナル
532 人が閲覧しました

Const Reference in C  : `const T&` or `T const&` – What's the Difference?

C の定数参照型 : 'const' 修飾子の配置

C では、 'const' 修飾子:

const Fred &arg;
Fred const &arg;
ログイン後にコピー

意味上の違い

意味的には、これら 2 つの宣言は同等であり、言語はこれらを同じ型と見なします。 const T& で引数を渡すか、T const& で渡すかに機能的な違いはありません。

スタイルに関する考慮事項

ただし、スタイルに関しては、プログラマによって好みが異なります。 .

左から右への解析

一部のプログラマーは、'const' 修飾子を型 (T const&) の後に配置することを主張し、それが右に続くと主張しています。 C の左への解析ルール。これにより、宣言を読み取るときに、'const' 修飾子が参照自体ではなく型に確実に適用されます。

右から左への解析

しかし、const T& 構文を好む人もおり、右から左へも同様に読みやすいと主張しています。これは「T 定数への参照」として解釈できます。さらに、参照の前に 'const' 修飾子を配置すると、不正な 'T* const' などのポインタ定数の誤った宣言が防止されます。

一般的な慣行

実際には、両方のスタイルが広く使用されています。 Stroustrup の「C プログラミング言語」と C 標準で好まれているスタイルは const T& です。ただし、K&R の「The C Programming Language」および C 標準で使用されるスタイルは T const* です。最終的に、スタイルの選択は個人の好みの問題であり、特定の組織のコーディング規約の影響を受ける可能性もあります。

以上がC の Const 参照: `const T&` または `T const&` – 違いは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート