rvalue-reference पर टैग किए गए जवाब

एक rvalue संदर्भ C ++ 11 में एक नई भाषा की विशेषता है जो एक प्रतिद्वंद्विता के संदर्भ का प्रतिनिधित्व करता है। एक साथ संदर्भ ढहने के साथ, उनका उपयोग कार्यान्वित करने और चालित शब्दार्थ और पूर्ण अग्रेषण को सक्षम करने के लिए किया जाता है।

4
C ++ 11 में T && (डबल एम्परसेंड) का क्या अर्थ है?
मैं C ++ 11 की कुछ नई विशेषताओं को देख रहा हूं और मैंने देखा है कि चर, जैसे घोषित करने में डबल एम्परसेंड है T&& var। एक शुरुआत के लिए, इस जानवर को क्या कहा जाता है? काश गूगल हमें इस तरह विराम चिह्न की खोज करने की अनुमति …

6
Std का उपयोग करने के मुख्य उद्देश्य क्या हैं :: आगे और यह किन समस्याओं का समाधान करता है?
सही अग्रेषण में, std::forwardनामांकित संदर्भों को नामांकित करने t1और नामांकित संदर्भों को नामांकित करने के लिए उपयोग किया जाता है t2। ऐसा करने का उद्देश्य क्या है? innerअगर हम छोड़ते हैं t1और t2lvalues ​​के रूप में कहा जाता है तो यह कैसे प्रभावित करेगा ? template <typename T1, typename T2> …

6
C ++ 11 rvalues ​​और चाल अर्थ विज्ञान भ्रम (वापसी विवरण)
मैं rvalue संदर्भों को समझने और C ++ 11 के शब्दार्थ को स्थानांतरित करने की कोशिश कर रहा हूं। इन उदाहरणों में क्या अंतर है, और उनमें से कौन सी कोई वेक्टर कॉपी नहीं करने जा रहा है? पहला उदाहरण std::vector<int> return_vector(void) { std::vector<int> tmp {1,2,3,4,5}; return tmp; } std::vector<int> …

6
लैम्ब्डा में कब्जा हटो
मैं C ++ 11 लैम्ब्डा में मूव (जिसे रेवल्यू रेफरेंस के रूप में भी जाना जाता है) पर कब्जा कैसे करूं? मैं कुछ इस तरह लिखने की कोशिश कर रहा हूं: std::unique_ptr<int> myPointer(new int); std::function<void(void)> example = [std::move(myPointer)]{ *myPointer = 4; };


2
`Std :: Move` को` std :: Move` नाम क्यों दिया गया है?
C ++ 11 std::move(x)फ़ंक्शन वास्तव में कुछ भी स्थानांतरित नहीं करता है। यह आर-वैल्यू के लिए सिर्फ एक कास्ट है। ऐसा क्यों किया गया? क्या यह भ्रामक नहीं है?

1
एक वैरिएबल फंक्शन में सभी तर्कों पर कोई व्यक्ति std :: को कैसे कॉल करेगा?
मैं सिर्फ एक जेनेरिक ऑब्जेक्ट फैक्ट्री लिख रहा था और एक वेरिएडिक टेम्पलेट बनाने के लिए बूस्ट प्रीप्रोसेसर मेटा-लाइब्रेरी का उपयोग कर रहा था (2010 का उपयोग कर रहा है और यह उनका समर्थन नहीं करता है)। मेरे फ़ंक्शन ने प्रतिद्वंद्वी संदर्भों का उपयोग किया और std::forwardसही अग्रेषण करने के …


1
C ++ 11 make_pair निर्दिष्ट टेम्पलेट मापदंडों के साथ संकलन नहीं करता है
मैं सिर्फ g ++ 4.7 (बाद के स्नैपशॉट में से एक) के साथ -std = c ++ 11 सक्षम के साथ खेल रहा था। मैंने अपने कुछ मौजूदा कोड आधार और एक मामले को संकलित करने की कोशिश की जो कुछ हद तक मुझे भ्रमित करता है। अगर कोई समझा …

3
लैम्बडा क्लोजर लैवेल्यूज़ को रेवल्यू रेफरेंस पैरामीटर के रूप में पास किया जा सकता है
मैंने पाया कि lvalueलंबोदर क्लोजर को हमेशा rvalueफंक्शन पैरामीटर्स के रूप में पास किया जा सकता है । निम्नलिखित सरल प्रदर्शन देखें। #include <iostream> #include <functional> using namespace std; void foo(std::function<void()>&& t) { } int main() { // Case 1: passing a `lvalue` closure auto fn1 = []{}; foo(fn1); // …

2
क्यों एक एनम चर यहाँ एक प्रतिद्वंद्विता है?
उदाहरण: typedef enum Color { RED, GREEN, BLUE } Color; void func(unsigned int& num) { num++; } int main() { Color clr = RED; func(clr); return 0; } इसे संकलित करने पर मुझे निम्न त्रुटि मिलती है: <source>: In function 'int main()': <source>:16:9: error: cannot bind non-const lvalue reference of …
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.