C++17 विस्तार से
338 पृष्ठ
Hindi
PDF
4.5

C++17 विस्तार से

C++17 विस्तार से

लेखक:

वर्ष:

सारांश:

परिचय

पुस्तक «C++17 in Detail» बार्टलोमीज फिलिपेक (Bartłomiej Filipek) द्वारा लिखित, 2019 में प्रकाशित हुई और तुरंत C++17 के नए मानक के सबसे आधिकारिक स्रोतों में से एक बन गई। यह शुरुआती लोगों के लिए कोई और पाठ्यपुस्तक नहीं है - यह एक गहन तकनीकी मार्गदर्शिका है जो मध्यम और उन्नत स्तर के डेवलपर्स को C++17 मानक की सभी प्रमुख क्षमताओं में महारत हासिल करने और उन्हें व्यवहार में लागू करने में मदद करेगी। पुस्तक में कोड उदाहरणों और व्यावहारिक सुझावों के साथ 338 पृष्ठों की केंद्रित जानकारी है।

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

«C++17 in Detail» C++17 मानक द्वारा लाए गए नवाचारों के विस्तृत विश्लेषण के लिए समर्पित है। लेखक भाषा से शुरू करके मानक पुस्तकालय तक प्रत्येक सुविधा की क्रमिक रूप से जांच करता है। पुस्तक में आप पाएंगे:

  • स्ट्रक्चर्ड बाइंडिंग (structured bindings) - टुपल्स, जोड़ियों और संरचनाओं को अलग-अलग चर में अनपैक कैसे करें।
  • if constexpr - संकलन समय पर सशर्त शाखाओं का संकलन, जो अधिक कुशल और स्वच्छ टेम्पलेट कोड लिखने की अनुमति देता है।
  • std::optional, std::variant, std::any - वैकल्पिक मानों, विकल्पों और गतिशील प्रकारों के साथ सुरक्षित कार्य के लिए नए रैपर प्रकार।
  • string_view - स्ट्रिंग का एक गैर-स्वामित्व प्रतिनिधित्व, बिना कॉपी किए सबस्ट्रिंग के साथ काम को गति देता है।
  • समानांतर एल्गोरिदम - मानक पुस्तकालय अब एल्गोरिदम (std::execution::par) के समानांतर निष्पादन का समर्थन करता है।
  • फ़ाइल सिस्टम (std::filesystem) - फ़ाइलों और निर्देशिकाओं के साथ क्रॉस-प्लेटफ़ॉर्म कार्य।
  • constexpr में सुधार - अब आप लूप, शाखाओं और यहां तक कि सीमित गतिशील मेमोरी आवंटन के साथ constexpr फ़ंक्शन लिख सकते हैं।
  • नई विशेषताएँ - [[fallthrough]], [[maybe_unused]], [[nodiscard]] और अन्य।
  • टेम्पलेट्स का सरलीकरण - deduction guides, टेम्पलेट पैरामीटर में auto, fold expressions।

प्रत्येक अध्याय "सिद्धांत से व्यवहार तक" के सिद्धांत पर बनाया गया है: पहले सिंटैक्स और सिमैंटिक्स समझाया जाता है, फिर वास्तविक उपयोग के उदाहरण दिए जाते हैं, और अंत में - सामान्य गलतियाँ और सिफारिशें।

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

यह पुस्तक उन प्रोग्रामरों के लिए है जिनके पास पहले से C++ (कम से कम C++11/14 स्तर) का अनुभव है और वे जल्दी और गुणवत्तापूर्ण तरीके से C++17 सीखना चाहते हैं। यह उपयोगी होगी:

  • पुराने मानकों से C++17 पर स्विच करने वाले डेवलपर्स के लिए।
  • उन इंजीनियरों के लिए जो उच्च-लोड या एम्बेडेड सिस्टम लिखते हैं और अनुकूलन के लिए नई क्षमताओं का उपयोग करना चाहते हैं।
  • आधुनिक C++ का अध्ययन करने वाले शिक्षकों और वरिष्ठ छात्रों के लिए।
  • उन सभी के लिए जो अधिक सुरक्षित, अभिव्यंजक और कुशल कोड लिखना चाहते हैं।

शुरुआती प्रोग्रामरों के लिए यह पुस्तक उपयुक्त नहीं है - सामग्री को समझने के लिए C++ की मूल बातों (पॉइंटर्स, टेम्पलेट्स, STL) का ठोस ज्ञान आवश्यक है।

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

पुस्तक पढ़ने के बाद, आप यह कर पाएंगे:

  • अपने दैनिक कार्य में C++17 की सभी प्रमुख नवीनताओं का आत्मविश्वास से उपयोग करना।
  • स्ट्रक्चर्ड बाइंडिंग और if constexpr की मदद से अधिक स्वच्छ और संक्षिप्त कोड लिखना।
  • त्रुटियों और वैकल्पिक स्थितियों के सुरक्षित प्रबंधन के लिए std::optional और std::variant का उपयोग करना।
  • बाहरी पुस्तकालयों के बिना फ़ाइल सिस्टम के साथ काम करना।
  • STL से समानांतर संस्करणों के साथ एल्गोरिदम को गति देना।
  • नए प्रकारों के आंतरिक तंत्र को समझना और नुकसान से बचने में सक्षम होना।
  • C++20 में संक्रमण के लिए तैयार होना, क्योंकि C++17 की कई सुविधाएँ भविष्य के मानकों की नींव हैं।

पुस्तक की मजबूत विशेषताएँ

1. गहराई और संरचना। लेखक केवल सुविधाओं को सूचीबद्ध नहीं करता, बल्कि बताता है कि उन्हें क्यों जोड़ा गया, वे किन समस्याओं का समाधान करते हैं और उन्हें सही तरीके से कैसे लागू किया जाए। प्रत्येक अध्याय में "Common pitfalls" (सामान्य गलतियाँ) अनुभाग शामिल है, जो अभ्यास करने वाले डेवलपर के लिए बहुत मूल्यवान है।

2. व्यावहारिक अभिविन्यास।

अनुशंसाएँ