c++ - Is there a way to access the underlying container of STL container adaptors? -
क्या कोई मानक < कोड> स्टैक , क्यू
, priority_queue
?
मुझे एक विधि बुलाया गया: _Get_container ()
VS2008
स्टैक
और क्यू
के कार्यान्वयन, लेकिन priority_queue
के लिए कोई भी नहीं! मुझे लगता है कि यह वैसे भी मानक नहीं है।
इसके अलावा, मुझे पता है कि यह एक मूर्खतापूर्ण सवाल है! मानक पुस्तकालय के आधिकारिक दस्तावेज कहां से मिल सकते हैं?
बस स्पष्टीकरण के लिए, मैं अंतर्निहित कंटेनर के साथ गड़बड़ करने की कोशिश नहीं कर रहा था मैं जो कुछ करने का प्रयास कर रहा था वह यह है:
टेम्पलेट & lt; वर्ग कंटेनर & gt; std :: ostream & amp; PrintOneValueContainer (मानक :: ओस्ट्रीम और आउटपुटस्ट्रीम, कंटेनर और कंटेनर) {कंटेनर :: const_iterator beg = container.begin (); आउटस्ट्रीम स्ट्रीम & lt; & lt; "["; जबकि (beg! = Container.end ()) {outputstream & lt; & lt; "" & Lt; & lt; * भीख माँगती हूँ ++; } आउटस्टस्टस्ट्रीम & lt; & lt; "]"; रिटर्न आउटपुटस्ट्रीम; } // स्टैक, क्यूई टेम्पलेट & lt; वर्ग प्रकार, टेम्पलेट & lt; वर्ग प्रकार, वर्ग कंटेनर = std :: deque & lt; प्रकार & gt; & Gt; कक्षा एडेप्टर & gt; std :: ostream & amp; ऑपरेटर & lt; & lt; (std :: ostream & outputstream, कॉन्स्ट एडेप्टर & lt; टाइप & gt; और एडाप्टर) {प्रिंट प्रिंटऑनवाल्ज कंटेनर (आउटपुटस्ट्रीम, एडेप्टर। _Get_container ()); } । । std :: ढेर & LT; पूर्णांक & gt; iStack; । । Std :: cout & lt; & lt; IStack & lt; & lt; std :: endl;
मुझे आशा है कि आप देखेंगे कि मैंने वेब पर कहीं और निम्न हल देखा और मैं इसका उपयोग कर रहा हूँ मेरी परियोजनाएं: मजे करना है:)। _Get_container ()
मानक नहीं है, और priority_queue
में VS2008 < / कोड> कार्यान्वयन।
टेम्पलेट & lt; वर्ग टी, कक्षा एस, कक्षा सी & gt; & Amp; कंटेनर (प्राइवेसी_ज्यूइट & एलटी; टी, एस, सी & gt; ए & amp; q) {struct हैकड्यूक्वाय्यू: प्राइवेट प्राइवेसी_क्यूउ & टीटी, एस, सी & gt; {स्थिर एस & amp; कंटेनर (प्राइवेसी_ज्यूइट & lt; टी, एस, सी & gt; ए & amp; q) {रिटर्न q। & Amp; HackedQueue :: c; }}; वापसी हैकड्यूयू्यू :: कंटेनर (क्यू); } Int main () {प्राथमिकता_क्यूज़ & lt; SomeClass & gt; पी क्यू; वेक्टर के & lt; SomeClass & gt; & Amp; कार्य = कंटेनर (पीक); वापसी 0; }
Comments
Post a Comment