दिलचस्प पोस्ट
एक किंवदंती में रंग और आकार के लिए किंवदंतियों का मिश्रण Jquery में केवल प्रथम-स्तर के तत्वों का चयन करना अल्पविराम के बाहर उद्धरण चिह्नों पर विभाजन Android SQLite में दिनांक के साथ काम करने का सर्वोत्तम तरीका कैसे जाँचें कि क्या निर्देशिका% PATH% में मौजूद है? कैसे सी # में iterator के साथ एक पाठ फ़ाइल को पढ़ने के लिए मैं स्विफ्ट में UIAlertView कैसे बनाऊँगा? फ्लोट परिवर्तन परिणाम लौटने के तरीके में फ्लोट करने के लिए एक परिणाम कास्टिंग करना बैबल 6.x में डिफ़ॉल्ट निर्यात मूल्य () की आवश्यकता नहीं हो सकती PHP: कस्टम त्रुटि हैंडलर – पार्स और घातक त्रुटियों से निपटने क्वेरी सेलेक्टोर और क्वेरीसिक्षक सभी बनाम एलेमेंट्स ByClassName और getElementById जावास्क्रिप्ट में JSON.stringify गहरी वस्तुओं एंड्रॉइड में आर क्लास को समझें अस्थायी चर का उपयोग किए बिना दो चर को स्वैप करें मैं ऑब्जेक्ट के अंदर objc_setAssociatedObject / objc_getAssociatedObject का उपयोग कैसे करूं?

गैर-श्रेणी के गुणों में हमेशा सीवी-अयोग्य प्रकार होते हैं

§3.10 खंड 9 कहते हैं, "गैर-श्रेणी के मूल्यों में हमेशा सीवी-अयोग्य प्रकार होते हैं" इससे मुझे आश्चर्य हुआ …

int foo() { return 5; } const int bar() { return 5; } void pass_int(int&& i) { std::cout << "rvalue\n"; } void pass_int(const int&& i) { std::cout << "const rvalue\n"; } int main() { pass_int(foo()); // prints "rvalue" pass_int(bar()); // prints "const rvalue" } 

मानक के अनुसार, गैर-वर्ग प्रकार के लिए एक const rvalue जैसी कोई चीज नहीं है, फिर भी bar() const int&& को बांधा करने के लिए पसंद करती है क्या यह एक संकलक बग है?

संपादित करें: जाहिर है, this भी एक const rvalue है 🙂

संपादित करें: इस समस्या को जी ++ 4.5.0 में तय किया जा सकता है, अब दोनों पंक्तियां प्रिंट "rvalue"

वेब के समाधान से एकत्रित समाधान "गैर-श्रेणी के गुणों में हमेशा सीवी-अयोग्य प्रकार होते हैं"

समिति पहले से ही यह जानती है कि मानक के इस हिस्से में एक समस्या है। सीडब्ल्यूजी अंक 690 मानक के ठीक उसी हिस्से के साथ एक ऐसी ही समस्या के बारे में बात करता है (सितंबर, 2009 से "अतिरिक्त नोट" में) मुझे लगता था कि नई भाषा जल्द ही मानक के उस भाग के लिए तैयार की जाएगी।

संपादित करें: मैंने सिर्फ कॉम्प। स्ट्ड सी ++ पर एक पोस्ट सबमिट की है, समस्या को ध्यान में रखते हुए और मानक के प्रासंगिक टुकड़े के लिए नए शब्दों का सुझाव देना। दुर्भाग्यवश, एक निगमित समाचार समूह होने के कारण, लगभग सभी लोग इस प्रश्न को शायद उस समय तक भूल गए होंगे जब वह अनुमोदन कतार के माध्यम से इसे बना देगा।

अच्छी बात। मुझे लगता है कि ये देखने के लिए दो चीजें हैं: 1) जैसा कि आपने गैर-क्लास रैवल्यू चीटियों को बताया और 2) अधिभार संकल्प कैसे काम करता है:

सर्वोत्तम कार्य के लिए चयन मानदंडों की संख्या, तर्क कितनी अच्छी तरह से उम्मीदवार समारोह की पैरामीटर-प्रकार-सूची से मेल खाते हैं, […]

मैंने मानक में कुछ भी नहीं देखा है जो मुझे बताता है कि अधिभार संकल्प के दौरान गैर-श्रेणी के रैवल्यू विशेष रूप से व्यवहार किया जाता है।

आपके प्रश्न को मानक के मसौदे में शामिल किया गया है, हालांकि (एन -4411) कुछ हद तक है:

हालांकि, खेलने में क्या आता है, हालांकि संदर्भ बाध्यकारी, अंतर्निहित रूपांतरण अनुक्रम, संदर्भ और अधिभार संकल्प सामान्य रूप से एक समानांतर पढ़ना है:

13.3.3.1.4 संदर्भ बाध्यकारी

2 जब संदर्भ प्रकार का एक पैरामीटर किसी तर्क अभिव्यक्ति के लिए सीधे बाध्य नहीं होता है, रूपांतरण अनुक्रम 13.3.3.1 के अनुसार तर्क अभिव्यक्ति को संदर्भ के अंतर्निहित प्रकार में परिवर्तित करने के लिए आवश्यक है।

तथा

13.3.3.2 अंतःस्थापित रूपांतरण अनुक्रम रैंकिंग

3 एक ही रूप के दो अंतर्निहित रूपांतरण अनुक्रम अविवेकीय रूपांतरण अनुक्रम हैं जब तक कि निम्नलिखित नियम लागू नहीं होंगे:

मानक रूपांतरण अनुक्रम S1 मानक की तुलना में बेहतर रूपांतरण अनुक्रम है
रूपांतरण क्रम एस 2 अगर

– एस 1 और एस 2 संदर्भ बाइंडिंग (8.5.3) हैं और न ही एक गैर-स्थिर सदस्य फ़ंक्शन के एक निहित ऑब्जेक्ट पैरामीटर को रेफरी क्वालीफायर के बिना घोषित किया जाता है, और या तो S1 एक लावल्यू के लिए एक लावल्यू संदर्भ बांधता है और एस 2 एक रैवल्यू रेफरेंस या एस 1 बाइंड करता है एक rvalue के लिए एक rvalue संदर्भ बांधता है और S2 एक lvalue संदर्भ बांधता है।

[ उदाहरण:

 int i; int f(); int g(const int&); int g(const int&&); int j = g(i); // calls g(const int&) int k = g(f()); // calls g(const int&&)