दिलचस्प पोस्ट
किस संकलक पर मुझे विश्वास होना चाहिए? एंड्रॉइड इंटेल एक्स्ट्रास्टर्स को अलार्म मैनेजर के पास नहीं चला सकते हैं सही-संरेखित फ्लेक्स आइटम? जावास्क्रिप्ट (या jquery) में दो-आयामी सरणी (मैट्रिक्स) में सरल सरणी कैसे परिवर्तित करें केवल IE पर शैली लागू करें स्प्रिंग Websocket पर विशिष्ट उपयोगकर्ता को संदेश भेजना OS X Mavericks पर RODBC / ROracle संकुल की स्थापना MySQL – त्रुटि 1045 – प्रवेश अस्वीकृत कैसे फिर से चलाने के लिए JUnit परीक्षण तुरंत विफल? चयनित <option> पर आधारित शैली <चयन> तत्व एप्पल के स्विफ्ट में फ्लोट करने के लिए स्ट्रिंग को कन्वर्ट करें ग्रहण: एक स्थानीय संपत्ति के माध्यम से एक पुस्तकालय में स्रोत / javadoc संलग्न करें रोटेशन / अनुवाद के लिए मैट्रिक्स का उपयुक्त गुणा गिट: एक लाइक-रिमोट लाओ? नेटबीन्स जीयूआई एडिटर अपने खुद के समझ से बाहर कोड को तैयार करते हैं

किसी भी उपयोग के लिए RVVN संदर्भों का उपयोग करें?

मुझे नहीं लगता, लेकिन मैं पुष्टि करना चाहूंगा क्या const Foo&& एंड एंड के लिए कोई फायदा है, जहां Foo क्लास का प्रकार है?

Solutions Collecting From Web of "किसी भी उपयोग के लिए RVVN संदर्भों का उपयोग करें?"

वे कभी-कभी उपयोगी होते हैं मसौदा सी ++ 0x खुद कुछ स्थानों में उनका उपयोग करता है, उदाहरण के लिए:

 template <class T> void ref(const T&&) = delete; template <class T> void cref(const T&&) = delete; 

उपरोक्त दो अतिभारित यह सुनिश्चित करते हैं कि अन्य ref(T&) और cref(const T&) फ़ंक्शंस रवाही (जो अन्यथा संभव हो सकता है) से बाध्य नहीं होता।

अद्यतन करें

मैंने अभी आधिकारिक मानक N3290 की जांच की है , जो कि दुर्भाग्य से सार्वजनिक तौर पर उपलब्ध नहीं है, और इसमें 20.8 फ़ंक्शन ऑब्जेक्ट्स हैं [function.objects] / p2:

 template <class T> void ref(const T&&) = delete; template <class T> void cref(const T&&) = delete; 

फिर मैंने सबसे हालिया पोस्ट सी ++ 11 ड्राफ्ट की जांच की, जो कि सार्वजनिक रूप से उपलब्ध है, N3485 , और 20.8 समारोह वस्तुओं [function.objects] / p2 में यह अभी भी कहता है:

 template <class T> void ref(const T&&) = delete; template <class T> void cref(const T&&) = delete; 

उन्हें अनुमति दी जाती है और यहां तक ​​कि कार्यों को const आधार पर रैंक किया जाता है, लेकिन जब से आप const Foo&& एंड एंड द्वारा संदर्भित const वस्तु से नहीं जा सकते, तब वे उपयोगी नहीं हैं।

मैं ऐसी स्थिति के बारे में नहीं सोच सकता जहां यह सीधे उपयोगी हो, लेकिन यह अप्रत्यक्ष रूप से इस्तेमाल किया जा सकता है:

 template<class T> void f(T const &x) { cout << "lvalue"; } template<class T> void f(T &&x) { cout << "rvalue"; } template<class T> void g(T &x) { f(T()); } template<class T> void h(T const &x) { g(x); } 

जी में टी टी const है, इसलिए f 's x एक T const और& है

यह संभावना है कि यह (जब वह ऑब्जेक्ट को स्थानांतरित करने या उपयोग करने का प्रयास करता है) एफ में एक गलती त्रुटि में परिणाम देता है, लेकिन एफ एक रैवल्यू-रेफरी ले सकता है, जिससे कि यह रैवल्यू को संशोधित किए बिना लावलुओं पर नहीं बुलाया जा सके (जैसा कि बहुत आसान है उदाहरण ऊपर)