関数の引数内の const 参照: `const T&` または `T const&`?

Susan Sarandon
リリース: 2024-11-20 17:03:15
オリジナル
471 人が閲覧しました

Const References in Function Arguments: `const T&` or `T const&`?

関数の引数内の const 参照: 型指定子の前後?

C では、関数の引数内の const 参照の配置に疑問が生じることがあります。次の 2 つのコード スニペットを考えてみましょう。

int foo1(const Fred &arg) {
...
}
ログイン後にコピー
int foo2(Fred const &arg) {
...
}
ログイン後にコピー

意味的には、これら 2 つの引数に違いはありません。言語はこれらを同じ型として扱い、両方とも Fred 型のオブジェクトへの定数参照を参照します。

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

ただし、スタイルに関しては次のようになります。 、推奨される使用法はプログラマによって異なります。

  • const T&: これは Stroustrup の「C プログラミング言語」および C 標準自体でも使用されるスタイルです。
  • T const&: このスタイルはあまり一般的には使用されませんが、使用される可能性があります。右から左への解析ルールとの一貫性のために一部の人に好まれており、C では良い習慣と考えられています。 .

右から左への解析:

右から左への解析ルールに従って、修飾子 (const など) を適用する必要があります。左側のタイプです。これにより、T const& の使用がサポートされます。

ただし、const T& は右から左へ効果的に解析することもできることに注意することが重要です。これは、型 T の定数値への参照を示します。さらに、T const* のあいまいさ (「定数 T へのポインター」ではなく「T へのポインター定数」として解釈される可能性があります) により、const T& はより明確な選択肢となります。

実用性:

読みやすさと一般的な使用法の観点から、const T&/const T は T const&/T const を上回る勢いを増しています。これは、Stroustrup の本や C 標準などの広く認識されているソースでこれらのスタイルが普及しているためと考えられます。一般に受け入れられている慣行に従うと、コードの可読性が向上します。

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

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