पूर्ण रूप से। इन दिनों तीन चीजें जो आमतौर पर पाठ 2 में होती हैं, उन्हें बहुत बाद में आगे बढ़ना चाहिए:
- तार के सरणियों के रूप में स्ट्रिंग्स *, स्ट्रलेन, स्ट्रैन्क्सक्स तरीके, और इसी तरह
- सामान्य और सूचक अंकगणित में सरणियाँ
- आप जो नया करते हैं, उसे हटाएं [] जो आप नया [], और यहां तक कि विनाशकारी भी हटाएं
आमतौर पर सबक 99 में होने वाली इन चीजों को बहुत आगे बढ़ना चाहिए
- उपयोग करने के लिए चीजों के रूप में टेम्पलेट (लिखना, इतना नहीं)
- std :: स्ट्रिंग
- std :: shared_ptr <>
- std :: वेक्टर <>, पुनरावृत्तियाँ, अन्य संग्रह
Evey कच्चे पॉइंटर को तुरंत एक स्मार्ट पॉइंटर रैपर को दिया जाना चाहिए (मैं साझा के साथ शुरू करूँगा, और बाद में विशिष्ट विचार करूँगा क्योंकि इसमें std :: Move और rvalue सन्दर्भों की व्याख्या करने की आवश्यकता है)। ऐसा करने से C ++ को जावा या C # सीखने में बहुत कुछ महसूस होगा, जहाँ आप भाषा के रूप में एक ही समय में लाइब्रेरी सीखते हैं। यह बहुत सारे मेमोरी के काम को भी दूर ले जाएगा, और लोगों को गोच के बारे में कम चिंतित छोड़ देगा।
मैं पहली बार हम एक संग्रह के माध्यम से पुनरावृति करना चाहते थे और प्रत्येक तत्व के लिए कुछ करना चाहते थे।
डिस्क्लेमर: मैं अभी Pluralsight के लिए C ++ कोर्स लिख रहा हूं और इस दृष्टिकोण का उपयोग कर रहा हूं। अंतिम मॉड्यूल "अन्य लोगों के कोड को समझना" है और यही वह जगह है जहां मैं भ्रामक सामान जैसे चार * तार, मैनुअल मेमोरी मैनेजमेंट, पॉइंटर अंकगणित, और इसी तरह से डालूंगा।
अपडेट: कुछ लोगों ने पूछा है कि C ++ 0x का अस्तित्व उन चीजों को सिखाने की प्रेरणा क्यों देता है जो C ++ 03 के साथ सिखाई जा सकती थीं। मुझे लगता है कि यह कई चीजें हैं:
- वास्तव में स्मार्ट पॉइंटर्स, जो कि संग्रह के अनुकूल हैं, "एंप्लॉयी पॉइंट ऑफ़ एंप्लॉई पॉइंटर्स" जैसी चीजों की आवश्यकता को दूर करते हैं, जो हमें हमेशा नए / हटाने, पॉइंटर अंकगणित आदि पर वापस लाने के लिए प्रेरित कर रहे थे।
- ऑटो इट्रेटर घोषणाओं के दर्द को दूर करता है
- lambdas एक साधारण व्यक्ति के लिए कुछ करना चाहता है
- यहां तक कि तुच्छ के रूप में कुछ भी
>>
सही ढंग से पार्सिंग के रूप में समाप्त हो जाता है, जो कि कुछ टेम्प्लेट की घोषणा करते समय होने वाले गोच को समाप्त करता है
- और इसी तरह
जिस तरह से मैं इसे देखता हूं, कुछ चीजें हैं जिनके बारे में हम कुछ समय पहले सी ++ पढ़ा रहे थे, लेकिन हम में से कुछ वापस आ गए थे क्योंकि हमें अभी भी पुराने स्कूल के रास्ते में गिरावट की जरूरत थी या क्योंकि इसे पढ़ाने से बहुत कुछ शामिल था ज्ञान का ज्ञान।