ウィキペディアより
auto
自動型推定でない場合、この場合(以下)のキーワードの使用は何ですか?struct SomeStruct { auto func_name(int x, int y) -> int; }; auto SomeStruct::func_name(int x, int y) -> int {return x + y; }
明示的に型を持つ必要がある状況にはどのようなものがありますか?
質問する
587 次
1 に答える
10
これは末尾の戻り型です。auto
戻り値の型が後で来ることを示す単なるプレースホルダーです。
これは、戻り値の型を計算する際にパラメーター名を使用できるようにするためです。
template<typename L, typename R>
auto add(L l, R r) -> decltype(l+r) { return l+r; }
代替手段は次のとおりです。
template<typename L, typename R>
decltype(std::declval<L>()+std::declval<R>())
add(L l, R r)
{ return l+r; }
言語への将来の追加では、末尾の戻り値の型を省略し、代わりにラムダで許可されている自動型推定を使用できるようになる可能性があります。
template<typename L, typename R>
auto add(L l, R r) { return l+r; }
于 2013-03-19T20:49:43.830 に答える