3
型推論の文体上の合理的な制限は何ですか?
C ++ 0xには、かなり包括的な包括的推論のサポートが追加されています。不必要な繰り返しを避けるために、可能な限りあらゆる場所で使用したいと思っていますが、あちこちで明示的な型情報を削除するのが良い考えかどうか疑問に思っています。このかなり不自然な例を考えてみましょう: Foo.h: #include <set> class Foo { private: static std::set<Foo*> instances; public: Foo(); ~Foo(); // What does it return? Who cares! Just forward it! static decltype(instances.begin()) begin() { return instances.begin(); } static decltype(instances.end()) end() { return instances.end(); } }; Foo.cpp: #include <Foo.h> #include <Bar.h> // The type need …