2010-04-07 12 views
8

हाँ - शीर्षक बहुत अधिक बताता है। मेरे पास इटरेटर अवधारणाओं को लागू करने वाले कुछ प्रकार हैं, और मैं सोच रहा हूं कि मैन्युअल रूप से चीजों को लागू करने के बजाय इस बूस्ट हेडर में खींचना उचित है या नहीं।boost :: iterator_facade का उपयोग करने के फायदे और नुकसान क्या हैं?

अब तक:

लाभ

  • खैर
  • कम कीड़े

उत्तर

3

है की संभावना निर्दिष्ट अपनी खुद की इटरेटर प्रकार बनाए रखने हो जाता है एक बोझ तो बढ़ावा देने के लिए जाते हैं तो। वे अच्छी तरह से निर्दिष्ट और परीक्षण किए जाते हैं और बग होने की संभावना कम होती है।

+0

ठीक है .. +1 ... लेकिन कैसे? मुखौटा सिर्फ एक अग्रभाग है जो आपके लिए इटेटरेटर पर आवश्यक ऑपरेटरों को परिभाषित करता है। –

+0

क्या आप अपने इटरेटर को प्रश्न के साथ पोस्ट कर सकते हैं मैं इसे बढ़ावा देने के साथ कैसे कर सकता हूं? –

+0

निश्चित रूप से, मेरे अन्य प्रश्न में 'iterator_facade' का उपयोग करके एक उदाहरण है: http://stackoverflow.com/questions/2590310/can-i-use-boostmake-shared-with-a-private-constructor –

2

boost::iterator_facade वास्तव में "बग की घटनाओं" को कम नहीं करता है। यह एक मानक अनुरूप अनुरूप इटरेटर लिखने की प्रक्रिया को सरल बनाता है। एक 100% मानक कोन्फोर्मल इटरेटर अभी भी कीड़े :) अन्य प्रश्न के संबंध में हो सकता है:

यह इस बढ़ावा में खींचने के लिए हैडर फ़ायदेमंद हो सकता

हाँ, यह, अगर आप लिख रहे हैं अक्सर विभिन्न श्रेणियों के iterators। यह हेडर काफी हल्का, अच्छी तरह से एचएम, अपेक्षाकृत हल्का वजन है, क्योंकि जो कुछ भी आप बूस्ट से खींचते हैं, वह एमपीएल और प्रीप्रोसेसर लाइब्रेरी का उपहार भी लाता है। हालांकि, मैंने पाया है कि वीसी 9 या वीसी 10 के साथ यह बुरा नहीं है क्योंकि यह w.r.t संकलित समय होता था ...

संबंधित मुद्दे