"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > एक कस्टम एसटीएल कंटेनर कैसे डिज़ाइन करें जो मानक लाइब्रेरी के साथ उचित रूप से एकीकृत हो?

एक कस्टम एसटीएल कंटेनर कैसे डिज़ाइन करें जो मानक लाइब्रेरी के साथ उचित रूप से एकीकृत हो?

2024-12-21 को प्रकाशित
ब्राउज़ करें:340

How to Design a Custom STL Container that Properly Integrates with the Standard Library?

कस्टम एसटीएल कंटेनर लिखने के लिए दिशानिर्देश

एसटीएल सम्मेलनों का पालन करने वाले एक नए कंटेनर को डिजाइन करते समय, कुछ दिशानिर्देशों का पालन करना महत्वपूर्ण है एसटीएल लाइब्रेरी के साथ इसका उचित व्यवहार और एकीकरण सुनिश्चित करने के लिए।

इटरेटर इंटरफ़ेस:

  • एक उपयुक्त इटरेटर_श्रेणी टैग के साथ एक इटरेटर वर्ग को परिभाषित करें, जैसे कि इनपुट_इटरेटर_टैग, आउटपुट_इटरेटर_टैग, फॉरवर्ड_इटरेटर_टैग, बिडायरेक्शनल_इटरेटर_टैग, या रैंडम_एक्सेस_इटरेटर_टैग।
  • तुलना के लिए सदस्य फ़ंक्शन प्रदान करें (=) =, !=), वृद्धि/कमी ( , --), अंकगणित ( , -), और डीरेफ़रेंसिंग (*, ->) संचालन। पुनरावर्तक वर्ग, निरंतर कंटेनरों पर पुनरावृत्ति की अनुमति देता है।
समान सदस्य कार्यों को परिभाषित करें गैर-कॉन्स्ट इटरेटर, लेकिन कॉन्स्ट संदर्भ और पॉइंटर्स के साथ। , =) कंटेनर के लिए ही।

एक असाइनमेंट ऑपरेटर प्रदान करें जो दूसरे का संदर्भ लेता है कंटेनर।

  • क्षमता और पहुंच:
कंटेनर आकार को प्रबंधित करने के लिए खाली(), आकार(), max_size() जैसे सदस्य फ़ंक्शन शामिल करें और क्षमता।

प्रारंभ(), अंत(), cbegin(), cend(), rbegin(), rend(), crbegin(), और प्रदान करें कंटेनर के तत्वों का प्रतिनिधित्व करने वाले इटरेटर्स तक पहुंचने के लिए क्रेंड()।

तत्वों तक पहुंचने या संशोधित करने के लिए फ्रंट(), बैक(), एट(), और ऑपरेटर[] जैसे कार्यों को परिभाषित करें। ]
    सम्मिलन और विलोपन:
  • emplace_front(), emplace_back(), Push_front() लागू करें, तत्व सम्मिलन और विलोपन के लिए पुश_बैक (), पॉप_फ्रंट (), और पॉप_बैक ()। ]

विविध:

  • सामग्री का आदान-प्रदान करने के लिए एक स्वैप() सदस्य फ़ंक्शन शामिल करें एक ही प्रकार के दो कंटेनरों का।
  • परीक्षण:

अपने कंटेनर की विश्वसनीयता सुनिश्चित करने के लिए, परीक्षण का उपयोग करें यह सत्यापित करने के लिए प्रदान किए गए परीक्षक वर्ग की तरह कक्षा:

ऑब्जेक्ट जीवनकाल ठीक से प्रबंधित किया जाता है।
  • फ़ंक्शन कॉल ऑब्जेक्ट की स्थिति को अप्रत्याशित रूप से संशोधित नहीं करते हैं।
  • कंटेनर फ़ंक्शन वैश्विक वस्तुओं के साथ और उसके बिना बनाए जाने पर सही ढंग से।
नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3