सी ++ प्राइमर के अनुसार, सी ++ तीर ऑपरेटर एक लाभा उत्पन्न करता है। इसके अतिरिक्त एक अभिव्यक्ति के decltype
जो एक लाभा उत्पन्न करता है परिणामस्वरूप एक संदर्भ प्रकार होगा। तो क्यों निम्नलिखित अस्वीकरण परिणाम संदर्भ प्रकार में नहीं है।सी ++ तीर प्रकार उपज lvalue
struct MyStruct {
string name
};
MyStruct s;
s.name = "aname";
MyStruct* p = &s;
decltype (p -> name) str = s.name; //type of str will be string and not &string although p -> name yields an lvalue
http://en.cppreference.com/w/cpp/language/decltype देखें। – Holt