मोर एक्सेप्शनल C++
272 पृष्ठ
Hindi
PDF
4.5

मोर एक्सेप्शनल C++

मोर एक्सेप्शनल C++

लेखक:

वर्ष:

सारांश:

परिचय

पुस्तक «More Exceptional C++» (2001) — C++ भाषा के अग्रणी विशेषज्ञों में से एक, हर्ब सटर (Herb Sutter) द्वारा प्रसिद्ध समस्या और समाधान संग्रह की अगली कड़ी है। यदि पहली पुस्तक «Exceptional C++» ने अपवादों, मेमोरी प्रबंधन और क्लास डिज़ाइन की गहरी समझ की नींव रखी, तो दूसरा भाग मानक को और ऊँचा उठाता है। यहाँ लेखक 40 नई समस्याएँ (Items) प्रस्तुत करते हैं, जो विषयगत खंडों में विभाजित हैं, जो शास्त्रीय समस्याओं (अपवाद सुरक्षा, RAII, मुहावरे) और अधिक उन्नत विषयों दोनों को कवर करती हैं: STL अनुकूलन, विरासत की बारीकियाँ, टेम्पलेट और यहाँ तक कि मल्टीथ्रेडिंग के मुद्दे (C++98/03 के संदर्भ में)। पुस्तक «प्रश्न-उत्तर» प्रारूप में लिखी गई है: पहले एक समस्या रखी जाती है, फिर कोड, विश्लेषण और निष्कर्षों के साथ विस्तृत विवरण दिया जाता है। यह शुरुआती लोगों के लिए पाठ्यपुस्तक नहीं है — यह उन लोगों के लिए पहेलियों का संग्रह है जो पहले से ही C++ में आत्मविश्वास से लिखते हैं और सामान्य जाल से बचना चाहते हैं।

पुस्तक किस बारे में है

मुख्य विषय — अपवाद सुरक्षा और संसाधनों का सही प्रबंधन है। सटर क्रमिक रूप से बताते हैं कि ऐसा कोड कैसे लिखें जो अपवाद उत्पन्न होने पर «लीक» न हो, RAII (Resource Acquisition Is Initialization) मुहावरे का उपयोग कैसे करें, और ऐसी कक्षाएँ कैसे डिज़ाइन करें जो संचालन के आंशिक निष्पादन के प्रति प्रतिरोधी हों। पुस्तक में निम्नलिखित पर भी चर्चा की गई है:

  • ऑपरेटर ओवरलोडिंग के नियम (विशेषकर operator= और operator[]);
  • STL कंटेनरों (std::vector, std::list, std::map) के साथ काम करने की बारीकियाँ;
  • «pimpl» (pointer to implementation) और «copy-and-swap» मुहावरे;
  • एकाधिक विरासत और वर्चुअल बेस क्लास की समस्याएँ;
  • टेम्पलेट और रणनीतियों (policy-based design) के साथ कोड अनुकूलन;
  • कंस्ट्रक्टर और डिस्ट्रक्टर में त्रुटि प्रबंधन।

प्रत्येक अध्याय में कोड के विशिष्ट उदाहरण हैं जिन्हें वास्तविक परियोजनाओं में तुरंत लागू किया जा सकता है। सटर केवल तैयार समाधान नहीं देते, बल्कि यह भी समझाते हैं कि अन्य दृष्टिकोण गलत क्यों हैं और क्या परिणाम हो सकते हैं।

यह पुस्तक किसके लिए है

पुस्तक अनुभवी C++ डेवलपर्स के लिए है जो पहले से ही सिंटैक्स, क्लास, विरासत और टेम्पलेट से परिचित हैं। यह उपयोगी होगी:

  • उच्च-विश्वसनीयता प्रणालियों (वित्त, दूरसंचार, एम्बेडेड सिस्टम) पर काम करने वाले प्रोग्रामरों के लिए;
  • लाइब्रेरी और फ्रेमवर्क डेवलपर्स के लिए, जहाँ API स्थिरता महत्वपूर्ण है;
  • उन्नत C++ अवधारणाओं का अध्ययन करने वाले वरिष्ठ छात्रों और स्नातक छात्रों के लिए;
  • उन सभी के लिए जो जटिल कोड की डिबगिंग और रिफैक्टरिंग कौशल को बढ़ाना चाहते हैं।

शुरुआती लोगों को पुस्तक कठिन लगेगी — «Exceptional C++» या स्कॉट मेयर्स की «Effective C++» से शुरुआत करना बेहतर है।

पाठक क्या सीखेगा

पढ़ने के बाद आप यह कर पाएंगे:

  • तीन स्तरों (basic, strong, nothrow) पर अपवाद सुरक्षा की गारंटी देना;
  • असाइनमेंट और कॉपी ऑपरेटरों को सही ढंग से लागू करना;
  • कंस्ट्रक्टर में मेमोरी और संसाधन लीक से बचना;
  • STL कंटेनरों के उपयोग को अनुकूलित करना (उदाहरण के लिए, अनावश्यक कॉपी से बचना);
  • विश्वसनीय operator= लिखने के लिए «copy-and-swap» मुहावरे को लागू करना;
  • यह समझना कि वर्चुअल विरासत का उपयोग कब करना है और कब संयोजन का;
  • डिस्ट्रक्टर में संभावित अपवादों को ध्यान में रखते हुए क्लास डिज़ाइन करना।

ताकतें

पुस्तक का मुख्य लाभ — व्यावहारिक अभिविन्यास है। प्रत्येक समस्या के साथ वास्तविक कोड होता है जिसे संकलित और परीक्षण किया जा सकता है। सटर गलत विकल्प दिखाने और यह समझाने से नहीं डरते कि वे खतरनाक क्यों हैं। दूसरा लाभ — संरचना: पुस्तक छोटे अध्यायों (2–5 पृष्ठ) में विभाजित है, जो इसे रुक-रुक कर पढ़ने और कठिन विषयों पर वापस लौटने की अनुमति देती है। तीसरा — अपवाद सुरक्षा पर जोर, जो 20 साल बाद भी प्रासंगिक बना हुआ है: आधुनिक C++ (C++11/14/17/20) ने नए उपकरण (मूव-सिमैंटिक्स, unique_ptr, optional) जोड़े हैं, लेकिन सटर द्वारा बताए गए बुनियादी सिद्धांत पुराने नहीं हुए हैं। अंत में, लेखक की शैली — जीवंत, हास्य और आत्म-व्यंग्य के साथ — इसे बनाती है

अनुशंसाएँ