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

संदर्भ ने साझा स्वामित्व को लागू करने वाले स्मार्ट पॉइंटर क्लास को गिना

17
वर्चुअल डिस्ट्रक्टर्स का उपयोग कब करें?
मुझे सबसे अधिक ओओ सिद्धांत की ठोस समझ है लेकिन एक चीज जो मुझे बहुत भ्रमित करती है वह है वर्चुअल डिस्ट्रक्टर्स। मुझे लगा कि श्रृंखला में हर वस्तु के लिए विध्वंसक को हमेशा कोई बात नहीं मिलती है। आप उन्हें आभासी बनाने के लिए कब और क्यों हैं?

8
C ++ में Make_saring और normal shared_ptr में अंतर
std::shared_ptr<Object> p1 = std::make_shared<Object>("foo"); std::shared_ptr<Object> p2(new Object("foo")); इस पर कई google और stackoverflow पोस्ट हैं, लेकिन मैं यह समझने में सक्षम नहीं हूं कि make_sharedसीधे उपयोग करने की तुलना में अधिक कुशल क्यों है shared_ptr। क्या कोई मुझे बनाई गई वस्तुओं के चरणबद्ध अनुक्रम और दोनों के द्वारा किए गए …
276 c++  c++11  shared-ptr 

10
क्या हमें संदर्भ या मूल्य के आधार पर साझा करना चाहिए?
जब कोई फ़ंक्शन shared_ptr(बूस्ट या C ++ 11 STL से) लेता है , तो क्या आप इसे पास कर रहे हैं: संदर्भ द्वारा: void foo(const shared_ptr<T>& p) या मूल्य द्वारा: void foo(shared_ptr<T> p)? मैं पहली विधि पसंद करूंगा क्योंकि मुझे संदेह है कि यह तेज़ होगा। लेकिन क्या यह वास्तव …
270 c++  c++11  boost  shared-ptr 

13
जब std :: weak_ptr उपयोगी है?
मैंने C ++ 11 के स्मार्ट पॉइंटर्स का अध्ययन करना शुरू किया और मुझे इसका कोई उपयोगी उपयोग नहीं दिखता std::weak_ptr। क्या कोई मुझे बता सकता है कि std::weak_ptrउपयोगी / आवश्यक कब है?

16
मैं कैसे कॉल करूं :: std :: make_sared एक वर्ग पर केवल संरक्षित या निजी निर्माणकर्ताओं के साथ?
मेरे पास यह कोड है जो काम नहीं करता है, लेकिन मुझे लगता है कि इरादा स्पष्ट है: testmakeshared.cpp #include <memory> class A { public: static ::std::shared_ptr<A> create() { return ::std::make_shared<A>(); } protected: A() {} A(const A &) = delete; const A &operator =(const A &) = delete; }; ::std::shared_ptr<A> …
187 c++  c++11  shared-ptr 

2
एक सरणी में साझा किया गया: क्या इसका उपयोग किया जाना चाहिए?
बस के बारे में एक छोटी सी क्वेरी shared_ptr। shared_ptrकिसी व्यूह की ओर इशारा करते हुए उसका उपयोग करना अच्छा है ? उदाहरण के लिए, shared_ptr<int> sp(new int[10]); यदि नहीं, तो क्यों नहीं? एक कारण जो मुझे पहले से पता है वह है वेतन वृद्धि / वृद्धि नहीं shared_ptr। इसलिए …
172 c++  c++11  shared-ptr 

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

6
मैं std क्यों करूँगा :: एक std ले जाएँ :: साझा किया गया?
मैं क्लैंग स्रोत कोड के माध्यम से देख रहा हूं और मुझे यह स्निपेट मिला: void CompilerInstance::setInvocation( std::shared_ptr<CompilerInvocation> Value) { Invocation = std::move(Value); } मैं क्यों std::moveएक करना चाहते हैं std::shared_ptr? क्या साझा संसाधन पर स्वामित्व स्थानांतरित करने का कोई बिंदु है? मैं इसके बजाय ऐसा क्यों नहीं करूंगा? void …

6
क्यों std :: share_ptr <void> काम करते हैं
मुझे शटडाउन पर मनमाने ढंग से सफाई करने के लिए std :: share_ptr का उपयोग करके कुछ कोड मिला। पहले मुझे लगा कि यह कोड संभवतः काम नहीं कर सकता, लेकिन फिर मैंने निम्नलिखित कोशिश की: #include &lt;memory&gt; #include &lt;iostream&gt; #include &lt;vector&gt; class test { public: test() { std::cout &lt;&lt; …
129 c++  c++11  shared-ptr 

4
`Const share_ptr <T>` और `साझा_ptr <const T>` के बीच अंतर?
मैं C ++ में एक साझा पॉइंटर के लिए एक एक्सेसर विधि लिख रहा हूं जो कुछ इस प्रकार है: class Foo { public: return_type getBar() const { return m_bar; } private: boost::shared_ptr&lt;Bar&gt; m_bar; } तो getBar()रिटर्न प्रकार के कॉन्स्ट-नेस का समर्थन करने के लिए ऐसा होना चाहिए boost::shared_ptrजो Barइसे …
116 c++  boost  const  shared-ptr 

17
सी ++ - एसटीडी के संदर्भों को साझा करना :: साझा_प्रति या बढ़ावा :: साझा_प्रति
अगर मेरे पास एक ऐसा कार्य है shared_ptr, जिसके साथ काम करने की आवश्यकता है , तो क्या यह इसे संदर्भ देने के लिए अधिक कुशल नहीं होगा (इसलिए shared_ptrऑब्जेक्ट को कॉपी करने से बचने के लिए )? संभावित बुरे दुष्प्रभाव क्या हैं? मैं दो संभावित मामलों की कल्पना करता …

3
std :: share_ptr थ्रेड सुरक्षा के बारे में बताया गया
मैं http://gcc.gnu.org/onbuildocs/libstdc++/manual/sared_ptr.html पढ़ रहा हूं और कुछ थ्रेड सुरक्षा मुद्दे अभी भी मेरे लिए स्पष्ट नहीं हैं: मानक गारंटी देता है कि संदर्भ गिनती धागा सुरक्षित है और यह प्लेटफ़ॉर्म स्वतंत्र है, है ना? इसी तरह का मुद्दा - मानक गारंटी देता है कि केवल एक धागा (पिछले संदर्भ को …
106 c++  c++11  shared-ptr 

4
कहां साझा किया गया है?
मैं अभी बहुत निराश हूं कि कई घंटों के बाद यह पता लगाने की कोशिश कर रहा है कि साझा कहां स्थित है। मैं shared_ptr(और काम करने के लिए) शीर्षकों को शामिल करने के लिए कोई भी उदाहरण नहीं दिखा रहा हूं जो पूरा कोड दिखाता है । बस बताते …

2
std :: इसे साझा किया गया
मैं वर्तमान में सीखने की कोशिश कर रहा हूं कि स्मार्ट पॉइंटर्स का उपयोग कैसे किया जाए। हालाँकि कुछ प्रयोग करते समय मैंने निम्नलिखित स्थिति की खोज की जिसके लिए मुझे कोई समाधान नहीं मिला: कल्पना कीजिए कि आपके पास कक्षा ए की एक वस्तु है जो कक्षा बी (बच्चे) …

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

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