c++ - क्या फंक्शन का रिटर्न प्रकार फंक्शन के भीतर से प्राप्त किया जा सकता है?



c++11 trailing-return-type (1)

decltype साथ फंक्शन को कॉल करें।

decltype(foo(p)) f{};

क्या फ़ंक्शन के रिटर्न प्रकार को फ़ंक्शन के भीतर सरल तरीके से प्राप्त किया जा सकता है?

उदाहरण के लिए, दिया गया:

template <typename P>
static inline auto foo(P p) -> typename std::remove_reference<decltype(*p)>::type {
    typename std::remove_reference<decltype(*p)>::type f{};  // <-- here

    ...
}

C ++ 11 में, मैं बड़े नॉट रिटर्न प्रकार के foo का उल्लेख कर सकता हूं, स्वयं को foo भीतर, इसे दोहराए बिना, चिह्नित लाइन पर // <-- here ?





trailing-return-type