5

重複の可能性:
代替関数構文

複雑な関数テンプレートでは、パラメーターで使用するためにC ++ 11の末尾の戻り型構文が必要にdecltypeなる場合があります。そうしないと、スコープに入るのが遅すぎます。

template<typename T, typename U>
auto add(const T& a, const U& b) -> decltype(a + b)
{
    return a + b;
}

通常の関数であっても、今後は常にこの新しい構文を使用する方が一貫性がありませんか?

auto main() -> int;

次に、最新のコードでは2つではなく1つの関数構文を処理するだけで済み、暗黙のintまたは暗黙のusing宣言を非推奨にしたのと同じように、古い構文を非推奨にすることができます。

新しい構文をより魅力的にするために、より適切なauto名前に置き換えることができます。

#define def auto

そして突然、の署名はmain関数型プログラマーにとって非常に魅力的に見えます。

def main() -> int;

私は何かを見落としていますか?末尾の戻り型の構文は、私が考えていなかった方法で劣っていますか?

4

0 に答える 0