विषय पर बढ़ें

अंतिम अद्यतन:2026-10-12

प्रोजेक्ट अवलोकन

1. प्रोजेक्ट परिचय

C++ 那些事 C++ के शुरुआती लोगों और एडवांस डेवलपर्स के लिए बनाया गया एक ओपन-सोर्स लर्निंग प्रोजेक्ट है। इस प्रोजेक्ट का लक्ष्य है सीखने वालों को C++ की बुनियादी शुरुआत से लेकर उच्च स्तर तक ले जाना — इसमें सिंटैक्स की बुनियाद, ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग, टेम्पलेट प्रोग्रामिंग, STL का उपयोग से लेकर मल्टीथ्रेडिंग concurrency, मेमोरी मैनेजमेंट, परफ़ॉर्मेंस ऑप्टिमाइज़ेशन जैसे एडवांस टॉपिक शामिल हैं। इसके अलावा, प्रोजेक्ट कुछ क्लासिक ओपन-सोर्स लाइब्रेरीज़ और फ़्रेमवर्क के सोर्स कोड का भी गहरा विश्लेषण करता है, ताकि डेवलपर्स C++ के वास्तविक प्रोजेक्ट्स में उपयोग को बेहतर समझ सकें।

2. प्रोजेक्ट के लक्ष्य

  • शुरुआत से एडवांस: शुरुआती लोगों के लिए एक व्यवस्थित लर्निंग पाथ देना, ताकि वे ज़ीरो से शुरू करके धीरे-धीरे C++ के कोर कॉन्सेप्ट्स और एडवांस फ़ीचर्स में महारत हासिल कर सकें।
  • इंटरव्यू की तैयारी: नौकरी तलाशने वालों के लिए आम C++ इंटरव्यू प्रश्नों का विश्लेषण और प्रैक्टिस उपलब्ध कराना, ताकि वे इंटरव्यू में अलग चमक सकें।
  • सोर्स कोड विश्लेषण: क्लासिक ओपन-सोर्स प्रोजेक्ट्स के सोर्स कोड का विश्लेषण करके डेवलपर्स को C++ के डिज़ाइन पैटर्न और इम्प्लीमेंटेशन सिद्धांतों की गहरी समझ दिलाना।
  • मल्टीथ्रेडिंग और concurrency: C++ में मल्टीथ्रेडेड प्रोग्रामिंग और concurrency नियंत्रण पर गहराई से चर्चा करना, ताकि डेवलपर्स कुशल और सुरक्षित concurrent प्रोग्राम लिख सकें।
  • परफ़ॉर्मेंस ऑप्टिमाइज़ेशन: C++ में परफ़ॉर्मेंस ऑप्टिमाइज़ेशन की तकनीकें बताना, ताकि डेवलपर्स कुशल कोड लिख सकें।

3. प्रोजेक्ट की सामग्री

C++ 那些事 प्रोजेक्ट की सामग्री बहुत समृद्ध है और इसमें C++ के हर पहलू शामिल हैं, मुख्य रूप से निम्नलिखित मॉड्यूल:

  • बुनियादी से एडवांस

    • कीवर्ड और फ़ीचर्स: जैसे const, static, this, inline, sizeof, virtual, volatile, explicit, friend, using, ::, enum, decltype आदि कीवर्ड का विस्तृत विश्लेषण।
    • फ़ंक्शन और पॉइंटर: फ़ंक्शन पॉइंटर, प्योर वर्चुअल फ़ंक्शन और एब्स्ट्रैक्ट क्लास, vptr_vtable आदि।
    • डेटा स्ट्रक्चर: struct, union, बिट-फ़ील्ड, रेफ़रेंस और पॉइंटर में अंतर आदि।
    • C से C++ पॉलीमॉर्फ़िज़्म: C भाषा का उपयोग करके C++ की पॉलीमॉर्फ़िक विशेषताएँ इम्प्लीमेंट करना।
    • मैक्रो और assert: मैक्रो की परिभाषा और उपयोग, assert के उपयोग के केस।
  • प्रैक्टिस सीरीज़

    • 10 दिन की तीव्र प्रैक्टिस: 10 दिनों के गहन अभ्यास से C++ प्रोग्रामिंग क्षमता में तेज़ी से सुधार।
    • महत्वपूर्ण प्रैक्टिस अभ्यास: C++ के महत्वपूर्ण और कठिन टॉपिक्स पर प्रैक्टिस करके सीखी हुई बातों को मज़बूत करना।
  • STL सोर्स कोड विश्लेषण

    • कंटेनर: array, deque, queue, stack, list, vector, rb_tree, set, multiset, map, multimap, hashtable, unordered_map आदि कंटेनरों का सोर्स कोड विश्लेषण।
    • इटरेटर और ट्रेट्स: iterator, traits, typename आदि।
    • EBO ऑप्टिमाइज़ेशन: STL डिज़ाइन में एम्प्टी बेस क्लास ऑप्टिमाइज़ेशन (EBO) तकनीक।
  • C++2.0 की नई विशेषताएँ

    • C++11 के नए फ़ीचर्स: जैसे ऑटो टाइप डिडक्शन, Lambda एक्सप्रेशन, राइट-वैल्यू रेफ़रेंस, स्मार्ट पॉइंटर आदि; साथ ही देखें C++11 स्पेशल।
    • C++17 / C++20: C++17 स्पेशल, C++20 स्पेशल।
  • एक्सटेंशन टॉपिक

    • भाषा तंत्र की गहराई: mutable, const परिवार, ABI, टेल रिकर्शन आदि (नेविगेशन 「बुनियादी से एडवांस → भाषा तंत्र की गहराई」 देखें)।
    • मेमोरी और डिबगिंग, परफ़ॉर्मेंस बेंचमार्क, प्रोजेक्ट प्रैक्टिस, रीडिंग और टिप्स: स्वतंत्र नेविगेशन सेक्शन, जिनमें AddressSanitizer, Benchmark, pybind11, gRPC आदि पर प्रैक्टिकल लेख शामिल हैं।
  • डिज़ाइन पैटर्न

    • आम डिज़ाइन पैटर्न: जैसे सिंगलटन पैटर्न, फ़ैक्टरी पैटर्न, ऑब्ज़र्वर पैटर्न आदि का C++ में उपयोग।
  • समवर्ती प्रोग्रामिंग (Concurrency)

    • मल्टीथ्रेड और मल्टीप्रोसेस: std::thread, std::async, std::mutex, std::condition_variable आदि मल्टीथ्रेडेड प्रोग्रामिंग तकनीकें।
    • C++ Concurrency in Action: C++ में concurrency प्रोग्रामिंग मॉडल और प्रैक्टिस पर गहरी चर्चा।
  • C++ इडियम

    • प्रोग्रामिंग स्टाइल और इडियम: C++ की आम प्रोग्रामिंग स्टाइल और इडियम पर चर्चा, ताकि डेवलपर्स ज़्यादा एलिगेंट कोड लिख सकें।
  • लर्निंग कोर्सेज़

    • 极客时间《现代 C++ 实战 30 讲》: सुझाई गई लर्निंग रिसोर्स, जो डेवलपर्स को सिस्टमैटिक रूप से आधुनिक C++ सिखाने में मदद करती है।
  • टूल्स

    • डिबगिंग और आउटपुट टूल्स: जैसे dbg-macro, rr आदि डिबगिंग टूल्स का उपयोग।
    • कंटेनर क्विक-आउटपुट टूल्स: कंटेनर आउटपुट को आसान बनाने वाले टूल्स।
    • कंपाइल प्रक्रिया देखना: टूल्स की मदद से C++ कोड की कंपाइल प्रक्रिया में होने वाले बदलावों को देखना।

4. प्रोजेक्ट की विशेषताएँ

  • व्यवस्थित लर्निंग पाथ: बुनियादी से एडवांस तक, सामग्री क्रमबद्ध रूप से आगे बढ़ती है, हर स्तर के सीखने वालों के लिए उपयुक्त।
  • सिद्धांत और प्रैक्टिस का संगम: सिर्फ़ सिद्धांत की जानकारी ही नहीं, बल्कि ढेर सारे कोड उदाहरण और प्रैक्टिकल प्रोजेक्ट्स भी।
  • सोर्स कोड का गहरा विश्लेषण: क्लासिक ओपन-सोर्स प्रोजेक्ट्स के सोर्स कोड का विश्लेषण करके डेवलपर्स को C++ की डिज़ाइन और इम्प्लीमेंटेशन की गहरी समझ दिलाना।
  • मल्टीथ्रेडिंग और concurrency: C++ में concurrency प्रोग्रामिंग पर गहराई से चर्चा, ताकि डेवलपर्स कुशल और सुरक्षित concurrent प्रोग्राम लिख सकें।
  • इंटरव्यू-केंद्रित: आम इंटरव्यू प्रश्नों का विश्लेषण देकर नौकरी तलाशने वालों को इंटरव्यू की बेहतर तैयारी कराना।

5. प्रोजेक्ट के संसाधन

  • ऑनलाइन लर्निंग वेबसाइट: C++那些事
  • WeChat सार्वजनिक अकाउंट: 光城
  • Bilibili वीडियो: 未来的光城, प्रोजेक्ट की सामग्री Bilibili पर भी सिंक की गई है और वीडियो के रूप में दिखाई जाती है, ताकि सीखने वाले आसानी से देख सकें।

6. भागीदारी के तरीके

C++那些事 एक ओपन-सोर्स प्रोजेक्ट है, सभी डेवलपर्स का योगदान आमंत्रित है। आप निम्नलिखित तरीकों से भाग ले सकते हैं:

  • Star और Fork: अगर आपको यह प्रोजेक्ट मददगार लगता है, तो GitHub पर प्रोजेक्ट को Star और Fork करने के लिए स्वागत है।
  • PR सबमिट करें: अगर आपके पास अच्छी सामग्री या सुधार के सुझाव हैं, तो Pull Request सबमिट करने के लिए स्वागत है।
  • फ़ीडबैक और सुझाव: अगर उपयोग के दौरान कोई समस्या आती है या कोई सुझाव है, तो प्रोजेक्ट के Issue सेक्शन में जताने के लिए स्वागत है।

7. प्रोजेक्ट की भविष्य योजना

  • और एडवांस टॉपिक्स जोड़ना: जैसे C++20 के नए फ़ीचर्स, मेटाप्रोग्रामिंग, कंपाइल-टाइम कंप्यूटेशन आदि।
  • ज़्यादा प्रैक्टिस प्रोजेक्ट्स जोड़ना: और ज़्यादा प्रैक्टिकल प्रोजेक्ट्स के ज़रिए डेवलपर्स को सीखी हुई जानकारी वास्तविक डेवलपमेंट में लागू करने में मदद करना।
  • कम्युनिटी निर्माण: ज़्यादा सक्रिय कम्युनिटी बनाना, डेवलपर्स के बीच आदान-प्रदान और साझेदारी को प्रोत्साहित करना।

8. उपसंहार

C++那些事 C++ सीखने वालों को शुरुआत से एडवांस स्तर तक ले जाने के लिए समर्पित एक ओपन-सोर्स प्रोजेक्ट है। चाहे आप शुरुआती हों या कुछ अनुभव वाले डेवलपर, यहाँ आपको अपने लिए उपयुक्त लर्निंग रिसोर्स ज़रूर मिलेंगे। उम्मीद है कि इस प्रोजेक्ट के ज़रिए ज़्यादा से ज़्यादा लोग C++ में निपुण बनें और इसे वास्तविक डेवलपमेंट में आसानी से उपयोग कर सकें।

सभी डेवलपर्स Star, Fork और PR करने के लिए आमंत्रित हैं, मिलकर C++ कम्युनिटी को आगे बढ़ाएँ!

9. लेखक के बारे में

  • WeChat: खोजें gcxzhang

  • WeChat सार्वजनिक अकाउंट

प्रोजेक्ट परिचय
知识星球 (Knowledge Planet)
wechat
WeChat सार्वजनिक अकाउंट
  • समर्थन दें (Donate)
alipay
Alipay
wechat
WeChat

टिप्पणियाँ