सारांश
यह पाठ C++ के सबसे छोटे प्रोग्राम को उसके हिस्सों में बाँटता है और हर हिस्से की भूमिका समझाता है। इन्क्लूड निर्देश घोषित करता है कि प्रोग्राम लाइब्रेरी के किन हिस्सों पर निर्भर है, और हर कंपोनेंट को अपना हेडर चाहिए, भले ही कभी-कभी कोई दूसरा हेडर उसे “अप्रत्यक्ष रूप से” ले आए; फ़ंक्शन main प्रवेश बिंदु है, और उसका लौटाया गया मान वह एग्ज़िट कोड है जो सिस्टम को मिलता है; नेमस्पेस std लाइब्रेरी के नामों को इकट्ठा रखता है, और यह पाठ्यक्रम उन्हें हमेशा उनके उपसर्ग के साथ लिखता है; स्टेटमेंट सेमीकोलन पर समाप्त होते हैं, कर्ली ब्रेस स्टेटमेंटों को ब्लॉकों में समूहित करते हैं और टिप्पणियाँ वह समझाती हैं जो कोड स्वयं नहीं कहता। पाठ उस स्टाइल गाइड के साथ समाप्त होता है जिसका यह पाठ्यक्रम अपने सभी प्रोग्रामों में पालन करता है, और उस दूसरों के कोड को पढ़ने के तरीके के साथ जो std::cout और std::endl का उपयोग करता है।
अधिगम उद्देश्य
- किसी प्रोग्राम में इन्क्लूड निर्देश, फ़ंक्शन
main, स्टेटमेंटों, ब्लॉकों और टिप्पणियों को पहचानना, और हर एक की भूमिका समझाना। - समझाना कि
#includeक्या करता है और लाइब्रेरी के हर कंपोनेंट को अपना हेडर क्यों चाहिए, भले ही किसी ख़ास कंपाइलर में प्रोग्राम उसके बिना कंपाइल हो जाए। - संरचना की त्रुटियों (बिना बंद हुआ कर्ली ब्रेस, छूटा हुआ सेमीकोलन, छोड़ा गया हेडर) वाले प्रोग्राम को कंपाइलर के संदेशों के सहारे, पहले संदेश से पढ़ते हुए, ठीक करना।
- किसी प्रोग्राम को पाठ्यक्रम की स्टाइल गाइड के अनुसार दोबारा लिखना और हर बदलाव का कारण बताना।
सबसे छोटा प्रोग्राम
इससे पहले के पाठ में एक प्रोग्राम को बिना जाँचे कंपाइल किया गया और चलाया गया। अब उसे पंक्ति-दर-पंक्ति पढ़ा जाता है, क्योंकि हर पंक्ति एक अलग माँग का उत्तर देती है: एक भाषा की, दूसरी ऑपरेटिंग सिस्टम की, तीसरी कोड पढ़ने वाले की। प्रोग्राम यह है।
// पहला प्रोग्राम: एक पंक्ति लिखता है और समाप्त होता है।#include <print>int main(){ std::println("नमस्ते, दुनिया");}नमस्ते, दुनियापहली पंक्ति एक टिप्पणी है: यह दो स्लैश से शुरू होती है और पंक्ति के अंत तक जाती है, और कंपाइलर इसे छोड़ देता है; यह प्रोग्राम पढ़ने वाले के लिए लिखी गई है। दूसरी पंक्ति एक इन्क्लूड निर्देश है: यह माँगती है कि कंपाइल करने से पहले हेडर <print> जोड़ा जाए, जहाँ मानक लाइब्रेरी std::println की घोषणा करती है। ख़ाली पंक्ति का कोई प्रभाव नहीं है; वह प्रोग्राम की तैयारी को उसकी विषय-वस्तु से अलग करती है। चौथी पंक्ति फ़ंक्शन main को खोलती है, वह स्थान जहाँ निष्पादन शुरू होता है, और पाँचवीं पंक्ति का कर्ली ब्रेस उसका ब्लॉक खोलता है, जो आख़िरी पंक्ति में बंद होता है। ब्लॉक के भीतर केवल एक स्टेटमेंट है, जो सेमीकोलन पर समाप्त होता है: std::println की कॉल, जो उद्धरण-चिह्नों के बीच का टेक्स्ट लिखती है और फिर नई पंक्ति।
ध्यान देने की बात है कि प्रोग्राम में समाप्त होने के लिए कोई निर्देश नहीं है। main के अंतिम कर्ली ब्रेस तक पहुँचने पर निष्पादन समाप्त हो जाता है, और प्रोग्राम सिस्टम को बताता है कि सब ठीक रहा; यह कैसे होता है, यह नीचे देखा जाएगा। इससे यह निकलता है कि एक पूरे प्रोग्राम के लिए पाँच हिस्से काफ़ी हैं: टिप्पणियाँ, निर्देश, फ़ंक्शन main, ब्लॉक और स्टेटमेंट। आगे के अनुभाग इन्हें इसी क्रम में देखते हैं, टिप्पणियों को छोड़कर, जिन्हें स्टेटमेंटों और ब्लॉकों के साथ देखा जाता है।
अभिवादन वाले प्रोग्राम में निर्देश पंक्ति 2 है; फ़ंक्शन main पंक्ति 4 से 7 तक फैला है; उसका ब्लॉक पंक्ति 5 के कर्ली ब्रेस से पंक्ति 7 के कर्ली ब्रेस तक जाता है; एकमात्र स्टेटमेंट पंक्ति 6 है, और एकमात्र टिप्पणी पंक्ति 1। टिप्पणी मिटाने पर प्रोग्राम वैसे ही कंपाइल होता है और वही आउटपुट देता है; बाक़ी हिस्सों में से कोई भी मिटाने पर वह कंपाइल होना बंद कर देता है या प्रोग्राम नहीं रहता।
सामग्री लोड हो रही है…