unique-ptr पर टैग किए गए जवाब

std :: unique_ptr एक स्मार्ट पॉइंटर है जो एक पॉइंटर के माध्यम से किसी ऑब्जेक्ट के एकमात्र स्वामित्व को बरकरार रखता है। unique_ptr कॉपी करने योग्य या कॉपी-असाइन करने योग्य नहीं है, unique_ptr के दो उदाहरण एक ही ऑब्जेक्ट को प्रबंधित नहीं कर सकते हैं।

6
मैं एक कंस्ट्रक्टर या फ़ंक्शन के लिए एक unique_ptr तर्क कैसे पास करूं?
मैं C ++ 11 में शब्दार्थ को स्थानांतरित करने के लिए नया हूं और मुझे यह अच्छी तरह से पता नहीं है कि unique_ptrनिर्माणकर्ताओं या कार्यों में मापदंडों को कैसे संभालना है। स्वयं संदर्भित इस वर्ग पर विचार करें: #include <memory> class Base { public: typedef unique_ptr<Base> UPtr; Base(){} Base(Base::UPtr …

5
फ़ंक्शन से अनूठे_ptr को वापस करना
unique_ptr<T>प्रतिलिपि निर्माण की अनुमति नहीं देता है, इसके बजाय यह चाल शब्दार्थों का समर्थन करता है। फिर भी, मैं unique_ptr<T>एक फ़ंक्शन से वापस आ सकता हूं और लौटाए गए मान को एक चर में असाइन कर सकता हूं । #include <iostream> #include <memory> using namespace std; unique_ptr<int> foo() { unique_ptr<int> …
367 c++  c++11  unique-ptr 

8
क्या std :: unique_ptr <T> T की पूरी परिभाषा जानना आवश्यक है?
मेरा हेडर में कुछ कोड है जो इस तरह दिखता है: #include &lt;memory&gt; class Thing; class MyClass { std::unique_ptr&lt; Thing &gt; my_thing; }; अगर मैं इस हेडर को एक cpp में शामिल करता हूं जिसमें Thingटाइप परिभाषा शामिल नहीं है , तो यह VS2010-SP1 के तहत संकलित नहीं करता है: …

17
क्या सरणी के साथ unique_ptr के लिए कोई उपयोग है?
std::unique_ptr उदाहरण के लिए, सरणियों का समर्थन है: std::unique_ptr&lt;int[]&gt; p(new int[10]); लेकिन क्या इसकी जरूरत है? शायद यह उपयोग करने के लिए अधिक सुविधाजनक है std::vectorया std::array। क्या आपको उस निर्माण के लिए कोई उपयोग मिलता है?

2
मैं वेक्टर में एक यूनिक_प्टर को क्यों नहीं पुश कर सकता / सकती हूं?
इस कार्यक्रम में क्या गलत है? #include &lt;memory&gt; #include &lt;vector&gt; int main() { std::vector&lt;std::unique_ptr&lt;int&gt;&gt; vec; int x(1); std::unique_ptr&lt;int&gt; ptr2x(&amp;x); vec.push_back(ptr2x); //This tiny command has a vicious error. return 0; } त्रुटि: In file included from c:\mingw\bin\../lib/gcc/mingw32/4.5.0/include/c++/mingw32/bits/c++allocator.h:34:0, from c:\mingw\bin\../lib/gcc/mingw32/4.5.0/include/c++/bits/allocator.h:48, from c:\mingw\bin\../lib/gcc/mingw32/4.5.0/include/c++/memory:64, from main.cpp:6: c:\mingw\bin\../lib/gcc/mingw32/4.5.0/include/c++/bits/unique_ptr.h: In member function 'void __gnu_cxx::new_allocator&lt;_Tp&gt;::construct(_Tp*, const _Tp&amp;) …

6
make_unique और परफेक्ट फॉरवर्डिंग
std::make_uniqueमानक C ++ 11 लाइब्रेरी में कोई फ़ंक्शन टेम्पलेट क्यों नहीं है ? मुझे लगता है std::unique_ptr&lt;SomeUserDefinedType&gt; p(new SomeUserDefinedType(1, 2, 3)); थोड़ी क्रिया। निम्नलिखित बहुत अच्छा नहीं होगा? auto p = std::make_unique&lt;SomeUserDefinedType&gt;(1, 2, 3); यह newअच्छी तरह से छुपाता है और केवल एक बार प्रकार का उल्लेख करता है। वैसे …

6
std :: unique_ptr एक अपूर्ण प्रकार के साथ संकलन नहीं करेगा
मैं के साथ pimpl- मुहावरे का उपयोग कर रहा हूँ std::unique_ptr: class window { window(const rectangle&amp; rect); private: class window_impl; // defined elsewhere std::unique_ptr&lt;window_impl&gt; impl_; // won't compile }; हालाँकि, मुझे एक अपूर्ण प्रकार के उपयोग के बारे में एक संकलन त्रुटि मिलती है, लाइन 304 में &lt;memory&gt;: sizeofअपूर्ण प्रकार …

4
std :: auto_ptr से std :: unique_ptr
नए मानक आने के साथ (और कुछ कंपाइलरों में पहले से मौजूद पार्ट्स), नए प्रकार के std::unique_ptrलिए एक प्रतिस्थापन माना जाता है std::auto_ptr। क्या उनका उपयोग वास्तव में ओवरलैप होता है (इसलिए मैं अपने कोड पर एक वैश्विक खोज / प्रतिस्थापन कर सकता हूं (यह नहीं कि मैं ऐसा करूंगा, …

2
कक्षा सदस्यों के लिए स्मार्ट पॉइंटर्स का उपयोग करना
मुझे C ++ 11 में कक्षा सदस्यों के रूप में स्मार्ट पॉइंटर्स के उपयोग को समझने में परेशानी हो रही है। मैंने स्मार्ट पॉइंटर्स के बारे में बहुत कुछ पढ़ा है और मुझे लगता है कि मुझे समझ में नहीं आता कि कैसे unique_ptrऔर सामान्य रूप से काम करता shared_ptr/ …

6
मैं एक std :: unique_ptr सदस्य के साथ कस्टम डिलेटर का उपयोग कैसे करूँ?
मेरे पास एक Unique_ptr सदस्य है। class Foo { private: std::unique_ptr&lt;Bar&gt; bar; ... }; बार एक तृतीय पक्ष वर्ग है जिसमें एक बनाएँ () फ़ंक्शन और एक नष्ट () फ़ंक्शन होता है। अगर मैं std::unique_ptrएक स्टैंड फंक्शन में इसके साथ उपयोग करना चाहता था तो मैं कर सकता था: void …



2
क्या C ++ 11 unique_ptr और shared_ptr एक दूसरे के प्रकार को बदलने में सक्षम है?
क्या C ++ 11 मानक पुस्तकालय किसी std::shared_ptrको std::unique_ptr, या इसके विपरीत से परिवर्तित करने के लिए कोई उपयोगिता प्रदान करता है ? क्या यह सुरक्षित संचालन है?

7
मैं एक फ़ंक्शन में std :: unique_ptr कैसे पास कर सकता हूं
मैं std::unique_ptrफंक्शन में कैसे पास हो सकता हूं ? चलो कहते हैं कि मेरे पास निम्न वर्ग है: class A { public: A(int val) { _val = val; } int GetVal() { return _val; } private: int _val; }; निम्नलिखित संकलन नहीं है: void MyFunc(unique_ptr&lt;A&gt; arg) { cout &lt;&lt; arg-&gt;GetVal() …
101 c++  c++11  unique-ptr 

2
Share_ptr <void> कानूनी क्यों है, जबकि unique_ptr <void> बीमार है?
सवाल वास्तव में शीर्षक में फिट बैठता है: मैं यह जानने के लिए उत्सुक हूं कि इस अंतर का तकनीकी कारण क्या है, लेकिन यह भी तर्क है? std::shared_ptr&lt;void&gt; sharedToVoid; // legal; std::unique_ptr&lt;void&gt; uniqueToVoid; // ill-formed;

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.