इसलिए, मैं इसके माध्यम से पढ़ रहा हूं और ऐसा प्रतीत होता है कि बूस्ट पुस्तकालयों को बहुत अधिक उपयोग में लाया जाता है (मेरी दुकान पर नहीं, हालांकि)। ऐसा क्यों है? और क्या यह इतना अद्भुत है?
इसलिए, मैं इसके माध्यम से पढ़ रहा हूं और ऐसा प्रतीत होता है कि बूस्ट पुस्तकालयों को बहुत अधिक उपयोग में लाया जाता है (मेरी दुकान पर नहीं, हालांकि)। ऐसा क्यों है? और क्या यह इतना अद्भुत है?
जवाबों:
बूस्ट का उपयोग इसलिए बड़े पैमाने पर किया जाता है:
मुख पृष्ठ से:
"" दुनिया में सबसे उच्च माना और विशेषज्ञ C ++ पुस्तकालय परियोजनाओं में से एक है। " - हर्ब सटर और आंद्रेई अलेक्जेंड्रेस्कु, सी ++ कोडिंग मानक
"आइटम 55: बूस्ट के साथ खुद को परिचित करें।" - स्कॉट मेयर्स, प्रभावी सी ++, तीसरा एड।
"अधिकांश प्रोग्रामर्स के लिए स्पष्ट समाधान एक पुस्तकालय का उपयोग करना है जो आवश्यक सेवाओं के लिए एक सुरुचिपूर्ण और कुशल मंच प्रदान करता है। उदाहरण BOOST हैं ..." - ब्रेज़न स्ट्रॉस्ट्रुप, एब्स्ट्रक्शन, लाइब्रेरीज़ और सी ++ में दक्षता।
तो, यह व्यापक रूप से इस्तेमाल और स्वीकृत पुस्तकालयों की एक सीमा है, लेकिन आपको इसकी आवश्यकता क्यों होगी?
अगर तुम्हे जरुरत हो:
और अधिक जब आप C ++ में कोड करते हैं, तो Boost पर एक नज़र डालें ।
क्योंकि वे कई लापता चीजों को मानक पुस्तकालय में जोड़ते हैं, इसलिए उनमें से कुछ मानक में शामिल हो रहे हैं।
बूढ़े लोग झूठ नहीं बोल रहे हैं:
एक संगठन को बूस्ट का उपयोग क्यों करना चाहिए?
एक शब्द में, उत्पादकता। बूस्ट जैसे उच्च-गुणवत्ता वाले पुस्तकालयों का उपयोग प्रारंभिक विकास को गति देता है, कम बगों में परिणाम होता है, सुदृढीकरण-की-व्हील को कम करता है, और दीर्घकालिक रखरखाव लागतों में कटौती करता है। और जब से बूस्ट लाइब्रेरी डी फैक्टो या डी ज्यूर के मानक बन गए हैं, कई प्रोग्रामर पहले से ही उनसे परिचित हैं।
बूस्ट पुस्तकालयों में से दस C ++ मानक पुस्तकालय की TR1 में शामिल हैं, और इसलिए बाद में पूर्ण मानकीकरण के लिए स्लेट किए गए हैं। टीआर 2 के लिए अधिक बूस्ट लाइब्रेरी पाइपलाइन में हैं। बूस्ट पुस्तकालयों का उपयोग करने से नई तकनीकों को अपनाने के लिए एक संगठन शुरू होता है।
कई संगठन पहले से ही Boost के साथ कार्यान्वित कार्यक्रमों का उपयोग करते हैं, जैसे Adobe Acrobat Reader 7.0।
कुछ बूस्ट क्लास बहुत उपयोगी हैं (शेयर्ड_प्ट्र), लेकिन मुझे लगता है कि वे बूस्ट में लक्षण और अवधारणाओं के साथ थोड़ा पागल हो गए। संकलन समय और विशाल द्विआधारी आकार पूरी तरह से बूस्ट के साथ पागल हैं, जैसा कि किसी भी टेम्पलेट-भारी कोड के साथ होता है। एक संतुलन होना चाहिए। मुझे यकीन नहीं है कि अगर बूस्ट ने इसे पाया है।
यह पुस्तकालयों को जोड़ता है जो C ++ प्रोग्रामिंग के लिए अधिक आधुनिक दृष्टिकोण की अनुमति देते हैं।
मेरे अनुभव में कई C ++ प्रोग्रामर्स वास्तव में 1990 के दशक के C ++ प्रोग्रामर हैं, बहुत ज्यादा C ++ क्लासेज लिखते हैं, जेनरिक का बहुत अधिक उपयोग नहीं है। अधिक आधुनिक दृष्टिकोण जेनेरिक का उपयोग करता है सॉफ्टवेयर को एक साथ तरीके से लिखने के लिए गतिशील भाषाएं अधिक पसंद करती हैं, फिर भी आपको अंत में टाइप चेकिंग / प्रदर्शन मिलता है। यह देखने में थोड़ा बदसूरत है। लेकिन एक बार जब आप वाक्यविन्यास मुद्दों पर पहुंच जाते हैं तो यह वास्तव में काफी अच्छा होता है। बूस्ट आपको बहुत सारे उपकरण देता है जिन्हें आपको आसानी से सामान रचना करने की आवश्यकता होती है। स्मार्ट पॉइंटर्स, फ़ंक्शंस, लैम्ब्डा, बाइंडिंग इत्यादि, फिर बूस्ट लाइब्रेरी हैं जो नेटवर्किंग, रेगेक्स, आदि जैसी चीजें प्रदान करने के लिए C ++ लिखने के इस नए तरीके का फायदा उठाते हैं।
यदि आप लूप के लिए बहुत सारे लिख रहे हैं, या फंक्शन रोलिंग ऑब्जेक्ट्स, या मेमोरी मैनेजमेंट कर रहे हैं, तो आपको निश्चित रूप से बूस्ट चेक आउट करना चाहिए।
BOOST पुस्तकालयों को भरने का एक संग्रह कई C ++ परियोजनाओं के लिए आम है। आम तौर पर, वे BOOST कार्यान्वयन कोड की पठनीयता, या कभी-कभी संकलन के समय में शुद्धता, पुन: प्रयोज्यता, सुवाह्यता, रन-टाइम प्रदर्शन और अंतरिक्ष-दक्षता को प्राथमिकता देते हैं। वे पूरी तरह से उच्च-स्तरीय कार्यात्मक आवश्यकताओं (जैसे एप्लिकेशन फ्रेमवर्क) को कवर नहीं करते हैं, और इसके बजाय (धन्यवाद) बिल्डिंग ब्लॉकों की पेशकश करते हैं, जो एप्लिकेशन डिज़ाइन को निर्देशित या हावी किए बिना अधिक स्वतंत्र रूप से संयुक्त हो सकते हैं।
BOOST का उपयोग करने पर विचार करने के लिए महत्वपूर्ण कारणों में शामिल हैं:
पुस्तकालयों का वर्णन एक पंक्ति या दो में यहाँ किया गया है: http://www.boost.org/doc/libs/ ।
क्योंकि C ++ मानक पुस्तकालय वह सब पूर्ण नहीं है ।
केवेलिन हेनी की भागीदारी के साथ कुछ भी ध्यान दिया जाना चाहिए।
बूस्ट मूल रूप से क्या मानक बन जाएगा, इसके अलावा सभी सहकर्मी की समीक्षा और उपयोग के अलावा जो बूस्ट आपको मिलता है वह आपके भरोसे के लिए काफी अच्छा सौदा हो सकता है।
हालांकि अधिकांश दुकानें बूस्ट का उपयोग नहीं करती हैं, क्योंकि इसकी बाहरी निर्भरता है। और वास्तव में बाहरी निर्भरता को कम करने के साथ-साथ बहुत महत्वपूर्ण है।
मैं फ़ाइल सिस्टम लाइब्रेरी का उपयोग करता हूं, थोड़ा सा छोड़ दिया है और बढ़ावा :: साझा_प्रति सुंदर निफ्टी है। मैंने सुना है यह अन्य चीजें भी करता है।