ホームページ > バックエンド開発 > C++ > C 関数ヘッダーの矢印演算子 (->) の目的は何ですか?

C 関数ヘッダーの矢印演算子 (->) の目的は何ですか?

Mary-Kate Olsen
リリース: 2024-11-13 05:49:02
オリジナル
353 人が閲覧しました

What is the Purpose of the Arrow Operator (->) は C 関数ヘッダーにありますか? 
) は C 関数ヘッダーにありますか? " />

関数ヘッダーの矢印演算子 (->) について

問題のコードでは、関数ヘッダーに矢印演算子 (->) が導入されています。

template <typename T, typename T1> auto compose(T a, T1 b) -> decltype(a + b) {
   return a+b;
}
ログイン後にコピー

この構文は、C 11 で導入された代替関数宣言構文を参照します。戻り値の型を指定する従来の方法に代わる方法を提供します。

return-type identifier (argument-declarations...)
ログイン後にコピー

関数宣言構文

C 11 の 2 つの関数宣言構文は次のとおりです。

  1. 伝統的な構文:

    <return-type> <identifier> (<argument-declarations...>)
    ログイン後にコピー
  2. 代替構文:

    <auto> <identifier> (<argument-declarations...>) -> <return-type>
    ログイン後にコピー

戻り値の型の決定とDectype

矢印演算子 (->) を使用すると、decltype を使用して引数の型に基づいて戻り値の型を導出できます。decltype を使用すると、明示的に指定せずに式の型を指定できます。

指定された例では、decltype(a b) は式 a b に基づいて戻り値の型を決定します。 - > 演算子は、戻り値の型が の型になることを示します。 expression.

C 14 Update

C 14 では、別の構文簡略化が導入されています:

<auto> <identifier> (<argument-declarations...>)
ログイン後にコピー

これは、関数が使用前に完全に定義されている場合に許可されます。すべての return ステートメントは同じ型を推定します。ただし、 - >この構文は、ヘッダーで宣言されたパブリック関数のソース ファイル内で関数本体を非表示にするのに引き続き便利です。

以上がC 関数ヘッダーの矢印演算子 (->) の目的は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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