असाधारण C++
240 पृष्ठ
Hindi
PDF
4.5

असाधारण C++

असाधारण C++

लेखक:

वर्ष:

सारांश:

परिचय

हर्ब सटर की पुस्तक «Exceptional C++» (1999) शुरुआती लोगों के लिए पाठ्यपुस्तक नहीं है, बल्कि 50 इंजीनियरिंग समस्याओं का संग्रह है जो आपको वास्तव में यह सोचने पर मजबूर कर देगी कि आप C++ में कोड कैसे लिखते हैं। ऐसी दुनिया में जहाँ सॉफ्टवेयर की विश्वसनीयता को लिखने की गति से अधिक महत्व दिया जाता है, यह पुस्तक भाषा की गहरी समझ का एक मानक बनी हुई है। सटर केवल उत्तर नहीं देते - वे अपवाद स्थितियों, संसाधन प्रबंधन और त्रुटि-प्रतिरोधी इंटरफेस डिजाइन करने की श्रेणियों में सोचना सिखाते हैं।

हालाँकि यह पुस्तक 20 साल से अधिक पहले प्रकाशित हुई थी, इसके विचार (RAII, अपवाद गारंटी, स्मार्ट पॉइंटर्स) आधुनिक C++ (C++11 और उससे आगे) की नींव बन गए हैं। यदि आप अपवादों से डरना बंद करना चाहते हैं और ऐसा कोड लिखना शुरू करना चाहते हैं जो सबसे अनुपयुक्त क्षण में 'क्रैश' न हो - यह पुस्तक आपके लिए है।

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

«Exceptional C++» 'प्रश्न-उत्तर' प्रारूप (समस्या - समाधान - विश्लेषण) में बनाई गई है। प्रत्येक अध्याय विश्वसनीय प्रोग्रामिंग का एक अलग पहलू है:

  • अपवाद और सुरक्षा: ऐसे फंक्शन कैसे लिखें जो संसाधनों को लीक न करें और त्रुटि होने पर भी ऑब्जेक्ट को सुसंगत स्थिति में छोड़ दें।
  • RAII (Resource Acquisition Is Initialization): यह C++ का मुख्य मुहावरा क्यों है और मेमोरी, फ़ाइलों, म्यूटेक्स के प्रबंधन के लिए इसका उपयोग कैसे करें।
  • टेम्पलेट और सामान्यीकृत प्रोग्रामिंग: इंस्टेंटिएशन, आंशिक विशेषज्ञता, SFINAE की बारीकियाँ।
  • इनहेरिटेंस और पॉलीमॉर्फिज़्म: क्लास पदानुक्रम को सही ढंग से कैसे डिज़ाइन करें ताकि लिस्कोव प्रतिस्थापन सिद्धांत का उल्लंघन न हो।
  • मेमोरी प्रबंधन: new/delete ऑपरेटर, placement new, ऑपरेटर ओवरलोडिंग।
  • इंटरफ़ेस डिज़ाइन: ऐसा API कैसे बनाएं जिसका गलत उपयोग करना मुश्किल हो।

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

यह पुस्तक अनुभवी C++ प्रोग्रामर्स (कम से कम 1-2 वर्षों का सक्रिय विकास) के लिए है। यह उपयोगी होगी:

  • उन डेवलपर्स के लिए जो विश्वसनीय प्रोडक्शन-कोड लिखना चाहते हैं।
  • उन लोगों के लिए जो तकनीकी साक्षात्कार की तैयारी कर रहे हैं (पुस्तक के कार्य अक्सर Google, Microsoft, Yandex में पूछे जाते हैं)।
  • शिक्षकों और मेंटर्स के लिए जो सेमिनार में विश्लेषण के लिए उदाहरण ढूंढ रहे हैं।
  • उन सभी के लिए जो C++ के मानक मुहावरों के पीछे 'क्यों' समझना चाहते हैं, न कि केवल 'कैसे'।

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

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

  • अपने फंक्शन के लिए अपवाद गारंटी (बेसिक, स्ट्रॉन्ग, nothrow) तैयार करना और जांचना।
  • संसाधनों के स्वचालित प्रबंधन के लिए std::auto_ptr (और इसके आधुनिक समकक्ष unique_ptr/shared_ptr) का सही उपयोग करना।
  • ऑपरेटरों (विशेष रूप से operator= और operator[]) को ओवरलोड करते समय जाल से बचना।
  • ऐसी क्लासेस डिज़ाइन करना जो STL कंटेनरों में सही ढंग से काम करें।
  • यह समझना कि आर्किटेक्चर को नुकसान पहुँचाए बिना mutable, volatile, const_cast का उपयोग कब और कैसे करें।
  • टेम्पलेट फंक्शन लिखना जो अनुपयुक्त प्रकारों को प्रतिस्थापित करने पर विस्फोट न करें (SFINAE)।
  • सुरक्षित असाइनमेंट के लिए copy-and-swap मुहावरे को लागू करना।

ताकतें

  • गहराई और व्यावहारिकता। प्रत्येक कार्य लेखक के अनुभव से एक वास्तविक समस्या है। आपको 'बिल्ली-कुत्ता' जैसे अमूर्त उदाहरण नहीं मिलेंगे।
  • 'प्रश्न-उत्तर' प्रारूप। किसी भी अध्याय से पढ़ा जा सकता है। 'ब्रेक' के लिए आदर्श - प्रति कार्य 15 मिनट।
  • 'क्यों' पर जोर। सटर न केवल सही समाधान समझाते हैं, बल्कि प्रेरणा भी: अन्य विकल्प खराब क्यों हैं, क्या समझौते मौजूद हैं।
  • लेखन शैली। जीवंत, हास्य और आत्म-व्यंग्य के साथ। पुस्तक सूखी संदर्भ पुस्तिका की तरह नहीं है।
  • कालातीत मूल्य। C++20/23 के युग में भी, RAII और अपवाद-सुरक्षा के सिद्धांत अपरिवर्तित रहते हैं। पुस्तक वह नींव सिखाती है जो पुरानी नहीं होती।

किसके लिए अनुशंसित

अनुशंसाएँ