C++ 1979 में बेल लैब्स में ब्जार्ने स्ट्रॉस्ट्रुप द्वारा विकसित एक प्रोग्रामिंग भाषा है। C++ को मिडिल-लेवल भाषा माना जाता है, क्योंकि इसमें हाई-लेवल और लो-लेवल दोनों भाषा सुविधाओं का संयोजन होता है। यह C का सुपरसेट है, और वस्तुतः कोई भी कानूनी C प्रोग्राम एक कानूनी C++ प्रोग्राम है। C++ विभिन्न प्लेटफॉर्म्स पर चलता है, जैसे Windows, Mac OS, और UNIX के विभिन्न संस्करण।
यह एक भाषा है जो:
- स्टेटिकली टाइप्ड - एक प्रोग्रामिंग भाषा को स्टेटिक टाइपिंग का उपयोग करने वाला कहा जाता है जब टाइप चेकिंग रन-टाइम के विपरीत कंपाइल-टाइम के दौरान की जाती है।
- कंपाइल्ड - एक कंपाइल्ड भाषा एक प्रोग्रामिंग भाषा है जिसके कार्यान्वयन आमतौर पर कंपाइलर्स (ट्रांसलेटर्स जो सोर्स कोड से मशीन कोड उत्पन्न करते हैं) होते हैं, न कि इंटरप्रेटर्स (सोर्स कोड के चरण-दर-चरण एक्जीक्यूटर्स, जहां कोई प्री-रनटाइम ट्रांसलेशन नहीं होता)।
- जनरल-पर्पस - एक जनरल-पर्पस भाषा एक भाषा है जो एप्लिकेशन डोमेन्स में व्यापक रूप से लागू होती है, और किसी विशेष डोमेन के लिए विशेष सुविधाओं का अभाव होता है। यह डोमेन-स्पेसिफिक भाषा (DSL) के विपरीत है, जो एक विशेष एप्लिकेशन डोमेन के लिए विशेष है।
- केस-सेंसिटिव - C++ केस सेंसिटिव है, यानी सभी आइडेंटिफायर, कीवर्ड्स आदि का अर्थ अलग होता है जब वे अलग केस में होते हैं।
- फ्री-फॉर्म - एक फ्री-फॉर्म भाषा एक प्रोग्रामिंग भाषा है जिसमें प्रोग्राम टेक्स्ट में पेज पर वर्णों की स्थिति महत्वहीन होती है।
- प्रोसीजरल प्रोग्रामिंग - एक प्रोसीजरल प्रोग्रामिंग भाषा एक अनिवार्य प्रोग्रामिंग भाषा है जिसके प्रोग्राम्स मुख्य रूप से पुन: प्रयोज्य प्रोसीजर्स, जैसे सबरूटीन्स और/या फ़ंक्शन्स के संदर्भ में संरचित होने की क्षमता रखते हैं।
- ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग - ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग (OOP) "ऑब्जेक्ट्स" की अवधारणा पर आधारित एक प्रोग्रामिंग पैराडाइम है, जिसमें डेटा हो सकता है, फील्ड्स के रूप में, जिन्हें अक्सर एट्रिब्यूट्स के रूप में जाना जाता है; और कोड, प्रोसीजर्स के रूप में, जिन्हें अक्सर मेथड्स के रूप में जाना जाता है।
- जेनेरिक प्रोग्रामिंग - जेनेरिक प्रोग्रामिंग कंप्यूटर प्रोग्रामिंग की एक शैली है जिसमें एल्गोरिदम को बाद में निर्दिष्ट किए जाने वाले प्रकारों के संदर्भ में लिखा जाता है जो तब इंस्टेंटिएट होते हैं जब विशिष्ट प्रकार पैरामीटर्स के रूप में प्रदान किए जाते हैं।
तो आपने C++ में प्रोग्राम करना सीखने का फैसला किया है लेकिन नहीं जानते कि कहां से शुरू करें। यहां इस बात का संक्षिप्त अवलोकन है कि आप कैसे शुरू कर सकते हैं।
C++ कंपाइलर प्राप्त करें
यह पहला कदम है जो आप C++ में प्रोग्राम करना सीखना शुरू करने से पहले करना चाहेंगे। सभी प्रमुख OS प्लेटफॉर्म्स के लिए अच्छे मुफ्त C++ कंपाइलर उपलब्ध हैं। अपने प्लेटफॉर्म के अनुरूप एक डाउनलोड करें या आप tutorialspoint.com के ऑनलाइन कंपाइलर का उपयोग https://www.tutorialspoint.com/compile_cpp_online.php पर कर सकते हैं।
- GCC - GCC GNU कंपाइलर चेन है जो मूल रूप से GNU द्वारा बनाए गए विभिन्न कंपाइलर्स का संग्रह है। आप इस कंपाइलर को https://gcc.gnu.org/ से डाउनलोड और इंस्टॉल कर सकते हैं।
- Clang - Clang LLVM समुदाय द्वारा जारी एक कंपाइलर संग्रह है। यह सभी प्लेटफॉर्म्स पर उपलब्ध है और आप इसे https://clang.llvm.org/get_started.html पर डाउनलोड और इंस्टॉल निर्देश पा सकते हैं।
- Visual C++ 2017 Community - यह Microsoft द्वारा विंडोज के लिए बनाया गया एक मुफ्त C++ कंपाइलर है। आप इसे https://www.visualstudio.com/vs/cplusplus/ से डाउनलोड और इंस्टॉल कर सकते हैं।
C++ प्रोग्राम लिखें
अब जब आपके पास एक कंपाइलर इंस्टॉल है, तो C++ प्रोग्राम लिखने का समय आ गया है। आइए प्रोग्रामिंग उदाहरणों के प्रतीक, हैलो वर्ल्ड प्रोग्राम से शुरू करते हैं। हम इस उदाहरण में C++ का उपयोग करके स्क्रीन पर हैलो वर्ल्ड प्रिंट करेंगे। hello.cpp नामक एक नई फ़ाइल बनाएं और इसमें निम्न कोड लिखें:
उदाहरण
#include<iostream>
int main() {
std::cout << "Hello World\n";
}
आइए इस प्रोग्राम को विच्छेदित करें।
लाइन 1 - हम #include<iostream> लाइन से शुरू करते हैं जो अनिवार्य रूप से कंपाइलर को iostream फाइल (इनपुट और आउटपुट स्ट्रीम प्रबंधित करने के लिए उपयोग की जाती है) से कोड कॉपी करने और इसे हमारे सोर्स फाइल में पेस्ट करने के लिए कहती है। हेडर iostream, जो मानक इनपुट और आउटपुट ऑपरेशन करने की अनुमति देता है, जैसे इस प्रोग्राम का आउटपुट (हैलो वर्ल्ड) स्क्रीन पर लिखना। हैश साइन (#) से शुरू होने वाली लाइन्स प्रीप्रोसेसर द्वारा पढ़ी और व्याख्या की जाने वाली डायरेक्टिव्स हैं।
लाइन 2 - एक खाली लाइन: खाली लाइन्स का प्रोग्राम पर कोई प्रभाव नहीं पड़ता।
लाइन 3 - हम फिर main नामक एक फ़ंक्शन घोषित करते हैं जिसका रिटर्न टाइप int है। main() हमारे प्रोग्राम का एंट्री पॉइंट है। जब भी हम C++ प्रोग्राम चलाते हैं, हम main फ़ंक्शन से शुरू करते हैं और इस फ़ंक्शन के भीतर पहली लाइन से निष्पादन शुरू करते हैं और तब तक प्रत्येक लाइन निष्पादित करते रहते हैं जब तक हम अंत तक नहीं पहुंच जाते। हम कर्ली ब्रेस ({) का उपयोग करके एक ब्लॉक शुरू करते हैं। यह main की फ़ंक्शन परिभाषा की शुरुआत को चिह्नित करता है, और लाइन 5 पर क्लोजिंग ब्रेस (}) इसका अंत चिह्नित करता है। इन ब्रेसेस के बीच के सभी स्टेटमेंट्स फ़ंक्शन की बॉडी हैं जो परिभाषित करते हैं कि main को कॉल करने पर क्या होता है।
लाइन 4 -
std::cout << "Hello World\n";
यह लाइन एक C++ स्टेटमेंट है। इस स्टेटमेंट के तीन भाग हैं: पहला, std::cout, जो स्टैंडर्ड कंसोल आउटपुट डिवाइस की पहचान करता है। दूसरा, इंसर्शन ऑपरेटर << जो इंगित करता है कि जो आता है उसे std::cout में डाला जाता है। अंत में, हमारे पास कोट्स के भीतर एक वाक्य है जिसे हम स्क्रीन पर प्रिंट करना चाहते हैं। जैसे-जैसे हम C++ सीखने में आगे बढ़ेंगे यह आपके लिए और स्पष्ट हो जाएगा।
संक्षेप में, हम cout ऑब्जेक्ट को स्ट्रिंग "Hello world\n" प्रदान करते हैं जिसे स्टैंडर्ड आउटपुट डिवाइस पर प्रिंट किया जाता है।
ध्यान दें कि स्टेटमेंट सेमीकॉलन (;) से समाप्त होता है। यह वर्ण स्टेटमेंट के अंत को चिह्नित करता है।
प्रोग्राम को कंपाइल करें
अब जब हमने प्रोग्राम लिख लिया है, तो हमें इसे उस भाषा में अनुवाद करने की आवश्यकता है जिसे प्रोसेसर समझता है, यानी बाइनरी मशीन कोड में। हम इसे पहले चरण में इंस्टॉल किए गए कंपाइलर का उपयोग करके करते हैं। आपको अपना टर्मिनल/कमांड प्रॉम्प्ट खोलना होगा और cd कमांड का उपयोग करके hello.cpp फ़ाइल के स्थान पर नेविगेट करना होगा। मान लें कि आपने GCC इंस्टॉल किया है, तो आप प्रोग्राम को कंपाइल करने के लिए निम्न कमांड का उपयोग कर सकते हैं:
$ g++ -o hello hello.cpp
इस कमांड का अर्थ है कि आप चाहते हैं कि g++ कंपाइलर सोर्स फाइल hello.cpp का उपयोग करके एक आउटपुट फाइल, hello बनाए।
प्रोग्राम चलाएं
अब जब हमने अपना प्रोग्राम लिखा और कंपाइल कर लिया, तो इसे चलाने का समय आ गया है! आप प्रोग्राम को निम्न का उपयोग करके चला सकते हैं:
$ ./hello
आउटपुट
आपको निम्न आउटपुट मिलेगा:
Hello world