私はここにこの非常に複雑な例を持っています:
auto someClassFactory(const Arg1& arg1, const Arg2& arg2, const Arg3)
{
auto lambda = [arg1](const SomeArg& a) {
// 10 or so line lambda...
// ...
// ...
};
return SomeClass<decltype(lambda)>{arg2, arg3, lambda};
}
さまざまなファンクターで SomeClass を構築するための同様のファクトリ関数がたくさんあります。
末尾の戻り値の型を指定せずに上記の手法を使用すると、 gcc 4.8で-std=c++1yを指定してコンパイルするだけでうまく機能しますが、私はまだc++1yの機能を使用することに熱心ではありません。末尾の戻り値の型のコードの複製。decltype
戻り値の型で使用するラムダを推測するための他のオプションは何ですか?
std::function
の使用を検討しましたが、この場合は使用を避けたいと思います。