c vs c 39 main differences between c
यह ट्यूटोरियल विभिन्न विशेषताओं के संदर्भ में C बनाम C ++ भाषाओं के बीच प्रमुख अंतर को स्पष्ट करता है:
C ++ भाषा C भाषा का एक सबसेट है।
C ++ को पहली बार C भाषा के विस्तार के रूप में तैयार किया गया था। इस प्रकार सी से प्राप्त प्रक्रियात्मक भाषा सुविधाओं के अलावा, C ++ ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग सुविधाओं जैसे वंशानुक्रम, बहुरूपता, अमूर्तता, एनकैप्सुलेशन इत्यादि का भी समर्थन करता है।
इस ट्यूटोरियल में, हम C और C ++ भाषा के बीच कुछ मुख्य अंतरों पर चर्चा करते हैं।
सुझाव पढ़ें => शुरुआती के लिए परफेक्ट सी ++ गाइड
आप क्या सीखेंगे:
- C और C ++ की मुख्य विशेषताएं
- सी बनाम सी ++ के बीच महत्वपूर्ण अंतर
- टेबुलर फॉर्मेट: C Vs C ++
- C और C ++ पर अक्सर पूछे जाने वाले प्रश्न
- निष्कर्ष
- अनुशंसित पाठ
C और C ++ की मुख्य विशेषताएं
मतभेदों से आगे बढ़ने से पहले, हम C और C ++ भाषा दोनों की कुछ विशेषताओं को सूचीबद्ध करते हैं।
सी की विशेषताएं और गुण
- ि यात्मक
- नीचे से ऊपर का दृष्टिकोण।
- सिस्टम प्रोग्रामिंग भाषा।
- वर्गों और वस्तुओं का समर्थन नहीं करता है।
- संकेत का समर्थन करता है
C ++ की विशेषताएँ और गुण
- वस्तु के उन्मुख
- नीचे से ऊपर का दृष्टिकोण
- गति तेज है।
- मानक टेम्पलेट लाइब्रेरी के रूप में रिच लाइब्रेरी समर्थन।
- समर्थन और संदर्भ का समर्थन करता है।
- संकलित
सी बनाम सी ++ के बीच महत्वपूर्ण अंतर
नीचे सूचीबद्ध C बनाम C ++ के बीच मुख्य अंतर हैं।
# 1) प्रोग्रामिंग का प्रकार:
सी एक प्रक्रियात्मक भाषा है जिसमें कार्यक्रम कार्यों के चारों ओर घूमता है। पूरी समस्या कई कार्यों में टूट गई है। कार्यक्रम का मुख्य ध्यान चीजों को प्राप्त करने के लिए कार्यों या प्रक्रियाओं पर है।
C ++, इसके विपरीत, एक वस्तु-उन्मुख प्रोग्रामिंग भाषा है। यहां समस्या का डेटा मुख्य फोकस है और इस डेटा के चारों ओर कक्षाएं बनी हैं। कार्य डेटा पर कार्य करते हैं और डेटा के साथ निकटता से जुड़े होते हैं।
# 2) प्रोग्रामिंग दृष्टिकोण:
जैसा कि सी एक प्रक्रियात्मक भाषा है, यह प्रोग्रामिंग के टॉप-डाउन दृष्टिकोण का अनुसरण करता है। यहाँ हम समस्या को लेते हैं और तब तक इसे उप-उद्यानों में तोड़ देते हैं जब तक कि हमें एक भी उप-प्रक्रम नहीं मिल जाता है जिसे सीधे हल किया जा सकता है। फिर हम मुख्य समाधान प्राप्त करने के लिए समाधानों को जोड़ते हैं।
C ++ प्रोग्रामिंग के लिए नीचे-अप दृष्टिकोण का अनुसरण करता है। इसमें, हम निम्न-स्तरीय डिज़ाइन या कोडिंग से शुरू करते हैं और फिर उच्च-स्तरीय समाधान प्राप्त करने के लिए इस निम्न-स्तरीय डिज़ाइन पर निर्माण करते हैं।
# 3) अनुप्रयोग विकास:
सी भाषा एम्बेडेड सिस्टम या निम्न-स्तरीय कार्यान्वयन की प्रोग्रामिंग में सहायक है।
सी ++, दूसरी ओर, सर्वर-साइड एप्लिकेशन, नेटवर्क एप्लिकेशन या गेमिंग आदि जैसे अनुप्रयोगों के लिए अधिक उपयुक्त है।
# 4) फ़ाइल एक्सटेंशन:
C में लिखे गए प्रोग्राम आमतौर पर '.c' एक्सटेंशन के साथ सेव किए जाते हैं जबकि C ++ प्रोग्राम्स को '.cpp' एक्सटेंशन के साथ सेव किया जाता है।
# 5) एक दूसरे के साथ संगतता:
C ++ C का एक सबसेट है क्योंकि यह विकसित होता है और इसके अधिकांश प्रक्रियात्मक निर्माण C भाषा से लेता है। इस प्रकार कोई भी C प्रोग्राम C ++ कंपाइलर के साथ कंपाइल और रन करेगा।
हालाँकि, C भाषा C ++ की ऑब्जेक्ट-ओरिएंटेड विशेषताओं का समर्थन नहीं करती है और इसलिए यह C ++ प्रोग्राम्स के अनुकूल नहीं है। इसलिए C ++ में लिखे गए प्रोग्राम C कंपाइलर पर नहीं चलेंगे।
# 6) अन्य भाषाओं के साथ संगतता:
C ++ भाषा आम तौर पर अन्य सामान्य प्रोग्रामिंग भाषाओं के साथ संगत है लेकिन C भाषा नहीं है।
# 7) कोडिंग में आसानी:
हम कह सकते हैं कि सी एक हाथ से चलने वाली भाषा है और हम इसे जिस किसी भी तरह से चाहते हैं, उसमें प्रोग्राम कर सकते हैं। C ++ में कुछ उच्च-स्तरीय ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग कंस्ट्रक्शन होते हैं जो हमें उच्च-स्तरीय कार्यक्रमों को कोड करने में मदद करते हैं।
इस प्रकार यदि हम कहते हैं कि सी आसान है तो सी ++ भी कोड करना आसान है।
# 8) डेटा सुरक्षा:
सी में, मुख्य जोर डेटा के बजाय कार्यों या प्रक्रियाओं पर है। इसलिए जहां तक डेटा सुरक्षा का सवाल है, यह सी में नगण्य है।
.jar फ़ाइल का उपयोग कैसे करें
C ++ में, जैसा कि हम कक्षाओं और वस्तुओं के साथ काम कर रहे हैं, प्रोग्राम का मुख्य बिल्डिंग ब्लॉक डेटा है। इस प्रकार, कक्षाओं, एक्सेस स्पेसर्स, एनकैप्सुलेशन आदि का उपयोग करके डेटा को कसकर सुरक्षित किया जाता है।
# 9) कार्यक्रम प्रभाग:
C में एक प्रोग्राम फंक्शन्स और मॉड्यूल में विभाजित है। ये फ़ंक्शन और मॉड्यूल तब निष्पादन के लिए मुख्य फ़ंक्शन या अन्य फ़ंक्शन द्वारा कॉल किए जाते हैं।
C ++ प्रोग्राम को कक्षाओं और ऑब्जेक्ट में विभाजित किया गया है। समस्या को कक्षाओं में डिज़ाइन किया गया है और इन वर्गों की वस्तुएं निष्पादित करने वाली इकाइयाँ हैं जो मुख्य कार्यों द्वारा बनाई गई हैं और निष्पादित की जाती हैं।
# 10) मानक I / O संचालन:
C से मानक उपकरण के डेटा को पढ़ने / लिखने के लिए C में मानक इनपुट-आउटपुट ऑपरेशन क्रमशः-स्कैनफ ’और’ प्रिंटफ ’हैं।
C ++ में, डेटा को 'इनपुट' का उपयोग करते हुए मानक इनपुट डिवाइस से पढ़ा जाता है, जबकि इसे 'cout' का उपयोग करके आउटपुट डिवाइस पर प्रिंट किया जाता है।
# 11) फोकस / जोर:
एक प्रक्रियात्मक भाषा होने के नाते, सी में किसी समस्या को हल करने के लिए चरणों या प्रक्रियाओं के अनुक्रम पर अधिक जोर दिया गया है।
दूसरी ओर, C ++ ऑब्जेक्ट-ओरिएंटेड है और इस प्रकार उन वस्तुओं और वर्गों पर अधिक ध्यान केंद्रित करता है जिनके चारों ओर समाधान का निर्माण किया जाना है।
# 12) मुख्य () फ़ंक्शन:
C ++ में हम किसी अन्य बिंदु से मुख्य () फ़ंक्शन को कॉल नहीं कर सकते हैं। मुख्य () फ़ंक्शन एकल निष्पादन बिंदु है।
हालाँकि, C भाषा में, हमारे पास कोड में अन्य फ़ंक्शन द्वारा मुख्य () फ़ंक्शन हो सकता है।
# 13) चर:
चर को C में फ़ंक्शन ब्लॉक की शुरुआत में घोषित करने की आवश्यकता होती है, इसके विपरीत, हम C ++ प्रोग्राम में कहीं भी चर घोषित कर सकते हैं बशर्ते कि वे कोड में उपयोग किए जाने से पहले घोषित किए जाएं।
# 14) वैश्विक चर:
सी भाषा वैश्विक चर की कई घोषणाओं की अनुमति देती है। C ++, हालांकि, वैश्विक चरों की कई घोषणाओं की अनुमति नहीं देता है।
# 15) संकेत और संदर्भ चर:
पॉइंटर्स वे चर हैं जो मेमोरी एड्रेस को इंगित करते हैं। C और C ++ दोनों पॉइंटर्स सपोर्ट करते हैं और पॉइंटर्स पर कई तरह के ऑपरेशन किए जाते हैं।
संदर्भ चर के लिए उपनाम के रूप में कार्य करते हैं और चर के रूप में एक ही मेमोरी स्थान पर इंगित करते हैं।
C भाषा केवल बिंदुओं का समर्थन करती है न कि संदर्भों का। C ++ पॉइंटर्स के साथ-साथ रेफरेंस को भी सपोर्ट करता है।
# 16) गणना:
हम सी में गणना के साथ-साथ सी ++ भी घोषित कर सकते हैं। लेकिन सी में, एन्यूमरेशन कांस्टेंट इंटेगर प्रकार के हैं। यह किसी भी प्रकार की सुरक्षा के बिना पूर्णांक स्थिर घोषित करने के समान है।
C ++ में, एन्यूमरेशन अलग हैं। वे अलग-अलग प्रकार के होते हैं। इस प्रकार एक एन्यूमरेटेड प्रकार के एक चर के लिए एक पूर्णांक प्रकार को असाइन करने के लिए, हमें स्पष्ट प्रकार के रूपांतरण की आवश्यकता है।
हालाँकि, हम पूर्णांक प्रकार के वैरिएबल को एक एन्यूमरेटेड मान दे सकते हैं क्योंकि एन्यूमरेटेड टाइप इंटीग्रल प्रमोशन या निहित रूपांतरण की अनुमति देता है।
सीलेन चयनकर्ता द्वारा सेलेनियम तत्व का पता लगाएं
# 17) स्ट्रिंग्स:
जहां तक तार का संबंध है, घोषणा) चार () ’एक स्ट्रिंग सरणी की घोषणा करती है। लेकिन जब ऊपर घोषित स्ट्रिंग को फ़ंक्शन के बीच पारित किया जाता है, तो इस बात की कोई गारंटी नहीं है कि इसे अन्य बाहरी कार्यों द्वारा नहीं बदला जाएगा क्योंकि ये स्ट्रिंग्स परस्पर हैं।
यह कमी C ++ में नहीं है क्योंकि C ++ स्ट्रिंग डेटा प्रकार का समर्थन करता है जो अपरिवर्तनीय स्ट्रिंग्स को परिभाषित करता है।
# 18) इनलाइन समारोह:
इनलाइन फ़ंक्शंस का समर्थन नहीं किया जाता है। सी। आमतौर पर निष्पादन को गति देने के लिए मैक्रोज़ के साथ काम करता है। दूसरी ओर C ++ में, इनलाइन फ़ंक्शन, साथ ही मैक्रोज़ का उपयोग किया जाता है।
# 19) डिफ़ॉल्ट तर्क:
फ़ंक्शन कॉल के समय पैरामीटर निर्दिष्ट नहीं होने पर डिफ़ॉल्ट तर्क / पैरामीटर का उपयोग किया जाता है। हम फ़ंक्शन परिभाषा में मापदंडों के लिए डिफ़ॉल्ट मान निर्दिष्ट करते हैं।
C भाषा डिफ़ॉल्ट मापदंडों का समर्थन नहीं करती है। जबकि C ++ डिफ़ॉल्ट तर्कों के उपयोग का समर्थन करता है।
# 20) संरचनाएं:
C और C ++ में संरचनाएं समान अवधारणा का उपयोग करती हैं। लेकिन अंतर सी में है, क्योंकि हम सदस्यों के रूप में कार्य शामिल नहीं कर सकते हैं।
C ++ संरचनाओं को इसके सदस्यों के रूप में कार्य करने की अनुमति देता है।
# 21) वर्ग और वस्तुएँ:
सी एक प्रक्रियात्मक भाषा है और इसलिए यह कक्षाओं और वस्तुओं की अवधारणा का समर्थन नहीं करती है।
दूसरी ओर, C ++ कक्षाओं और ऑब्जेक्ट्स की अवधारणा का समर्थन करता है और C ++ में लगभग सभी एप्लिकेशन कक्षाओं और ऑब्जेक्ट्स के आसपास बनाए जाते हैं।
# 22) डेटा प्रकार:
C अंतर्निहित और आदिम डेटा प्रकारों का समर्थन करता है। इसके विपरीत, C ++ अंतर्निहित और आदिम डेटा प्रकारों के अलावा उपयोगकर्ता-परिभाषित डेटा प्रकारों का समर्थन करता है।
इसके अलावा C ++ भी बूलियन और स्ट्रिंग डेटा प्रकारों का समर्थन करता है जो C द्वारा समर्थित नहीं हैं।
# 23) फंक्शन ओवरलोडिंग:
फ़ंक्शन ओवरलोडिंग एक ही नाम के साथ एक से अधिक फ़ंक्शन करने की क्षमता है, लेकिन अलग-अलग पैरामीटर या मापदंडों की एक सूची या मापदंडों का क्रम।
यह ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग की एक महत्वपूर्ण विशेषता है और C ++ में मौजूद है। हालाँकि, C इस सुविधा का समर्थन नहीं करता है।
# 24) वंशानुक्रम:
वंशानुक्रम भी वस्तु-उन्मुख प्रोग्रामिंग की एक महत्वपूर्ण विशेषता है जो C ++ द्वारा समर्थित है और सी नहीं।
# 25) कार्य:
C डिफ़ॉल्ट मापदंडों जैसे डिफ़ॉल्ट व्यवस्थाओं के साथ कार्यों का समर्थन नहीं करता है। C ++ डिफ़ॉल्ट व्यवस्थाओं के साथ कार्यों का समर्थन करता है।
# 26) नाम स्थान:
नामस्थान C में समर्थित नहीं हैं, लेकिन C ++ द्वारा समर्थित हैं ।
# 27) स्रोत कोड:
सी एक फ्री-फॉर्मेट भाषा है जो हमें कुछ भी प्रोग्राम करने की क्षमता देती है। C ++ C से लिया गया है और इसमें ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग फीचर्स भी हैं जो स्रोत कोड के संबंध में इसे और अधिक कुशल बनाते हैं।
# 28) अमूर्तता:
अमूर्तता कार्यान्वयन विवरणों को छिपाने और उपयोगकर्ता के लिए केवल आवश्यक इंटरफ़ेस को उजागर करने का तरीका है। यह ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग की विशिष्ट विशेषताओं में से एक है।
C ++ इस सुविधा का समर्थन करता है जबकि C नहीं करता है।
# 29) एनकैप्सुलेशन:
एनकैप्सुलेशन एक ऐसी तकनीक है जिसका उपयोग करके हम बाहरी दुनिया के डेटा को एनकैप्सुलेट करते हैं। सूचना छिपाने में यह सहायता करता है।
C ++ उन कक्षाओं का उपयोग करता है जो डेटा को बंडल करते हैं और इस डेटा पर एक ही यूनिट में काम करते हैं। यह एनकैप्सुलेशन है। C में यह सुविधा नहीं है।
# 30) सूचना छिपाना:
अमूर्तता और इनकैप्सुलेशन की विशेषताएं केवल आवश्यक विवरणों को उजागर करके जानकारी को छिपाने में मदद कर सकती हैं और कार्यान्वयन आदि जैसे विवरणों को छिपा सकती हैं। इस तरह हम अपने कार्यक्रमों में डेटा की सुरक्षा बढ़ा सकते हैं।
C ++ डेटा पर बहुत जोर देता है और जानकारी छिपाने के लिए अमूर्तता और एनकैप्सुलेशन का उपयोग करता है।
C डेटा पर कोई जोर नहीं देता है और जानकारी छिपाने से संबंधित नहीं है।
# 31) बहुरूपता:
बहुरूपता का अर्थ है कि एक वस्तु के कई रूप होते हैं और यह वस्तु-उन्मुख प्रोग्रामिंग की एक अनिवार्य विशेषता है। ऑब्जेक्ट-ओरिएंटेड भाषा होने के नाते, C ++ बहुरूपता का समर्थन करता है।
C का ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग के लिए कोई समर्थन नहीं है और यह पॉलीमॉर्फिज़्म का समर्थन नहीं करता है। हालाँकि, हम फ़ंक्शन पॉइंटर्स का उपयोग करके C में फ़ंक्शंस के डायनेमिक प्रेषण को अनुकरण कर सकते हैं।
# 32) वर्चुअल फ़ंक्शन:
वर्चुअल फ़ंक्शंस, जिन्हें रनटाइम पॉलीमोर्फिज़्म भी कहा जाता है, एक ऐसी तकनीक है जिसका उपयोग रनटाइम पर फ़ंक्शन कॉल को हल करने के लिए किया जाता है। यह ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग की एक और विशेषता है जो C ++ द्वारा समर्थित है और C द्वारा नहीं।
# 33) GUI प्रोग्रामिंग:
GUI (ग्राफिकल यूजर इंटरफेस) से संबंधित प्रोग्रामिंग के लिए, C Gtk टूल का उपयोग करता है जबकि C ++ Qt टूल का उपयोग करता है।
# 34) मैपिंग:
कैसे जावा में एक कतार इनिशियलाइज़ करने के लिए
जहां तक फ़ंक्शन के साथ डेटा की मैपिंग का संबंध है, सी भाषा बहुत जटिल है क्योंकि यह डेटा पर कोई ध्यान नहीं रखता है।
जबकि C ++ में डेटा और फ़ंक्शंस की अच्छी मैपिंग होती है क्योंकि यह उन कक्षाओं और ऑब्जेक्ट्स का समर्थन करता है जो डेटा और फ़ंक्शंस को एक साथ बाँधते हैं।
# 35) मेमोरी प्रबंधन:
C और C ++ दोनों में मैन्युअल मेमोरी मैनेजमेंट है लेकिन मेमोरी मैनेजमेंट कैसे किया जाता है यह दोनों भाषाओं में अलग है।
C में हम मेमोरी को फ्री और () फंक्शन को आवंटित करने के लिए मॉलॉक (), कॉलोक (), रियललॉक (), आदि जैसे फंक्शन का उपयोग करते हैं। लेकिन, C ++ में, हम क्रमशः मेमोरी आवंटित करने और डील करने के लिए नए () और डिलीट () ऑपरेटरों का उपयोग करते हैं।
# 36) डिफ़ॉल्ट हेडर:
डिफ़ॉल्ट हेडर में सामान्य फ़ंक्शन कॉल होते हैं जो प्रोग्रामिंग भाषाओं में मुख्य रूप से इनपुट-आउटपुट आदि के लिए उपयोग किए जाते हैं।
C में, C stdio.h 'डिफ़ॉल्ट हेडर है, जबकि C ++ डिफ़ॉल्ट हेडर के रूप में उपयोग होता है ।
# 37) अपवाद / त्रुटि से निपटने:
C ++ कोशिश-पकड़ने वाले ब्लॉकों का उपयोग करके अपवाद / त्रुटि से निपटने का समर्थन करता है। C सीधे अपवाद हैंडलिंग का समर्थन नहीं करता है लेकिन हम कुछ समाधान का उपयोग करके त्रुटियों को संभाल सकते हैं।
# 38) कीवर्ड:
C ++, C की तुलना में बहुत अधिक कीवर्ड का समर्थन करता है। वास्तव में, C में केवल 32 कीवर्ड हैं जबकि C ++ में 52 कीवर्ड हैं।
# 39) टेम्पलेट:
टेम्पलेट हमें डेटा प्रकार से स्वतंत्र कक्षाओं और वस्तुओं को परिभाषित करने की अनुमति देते हैं। टेम्प्लेट का उपयोग करके, हम जेनेरिक कोड लिख सकते हैं और इसे किसी भी डेटा प्रकार के लिए कॉल कर सकते हैं।
C ++ ऑब्जेक्ट-ओरिएंटेड होने के कारण कक्षाओं और ऑब्जेक्ट्स का उपयोग करता है और इस प्रकार टेम्पलेट्स का समर्थन करता है। दूसरी ओर C, टेम्प्लेट की अवधारणा का समर्थन नहीं करता है।
टेबुलर फॉर्मेट: C Vs C ++
ऐसा न करें | विशेषताएँ | सी | सी ++ |
---|---|---|---|
। | कोडिंग में आसानी | हमें सब कुछ कोड करने की अनुमति देता है। | अत्यधिक उन्नत ऑब्जेक्ट-ओरिएंटेड अवधारणाओं के साथ आता है। |
1 | प्रोग्रामिंग का प्रकार | प्रक्रियात्मक भाषा | ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग भाषा। |
दो | प्रोग्रामिंग दृष्टिकोण | शीर्ष पाद उपागम | नीचे से ऊपर का दृष्टिकोण |
३ | एप्लीकेशन का विकास | एम्बेडेड उपकरणों, सिस्टम-स्तरीय कोडिंग आदि के लिए अच्छा है। | नेटवर्किंग, सर्वर-साइड एप्लिकेशन, गेमिंग आदि के लिए अच्छा है। |
४ | दस्तावेज़ विस्तारण | ।सी | सीपीपी |
५ | एक दूसरे के साथ अनुकूलता | C ++ के साथ संगत नहीं है। | C के साथ संगत C ++ C का सबसेट है। |
६ | अन्य भाषाओं के साथ संगतता | संगत नहीं | संगत |
। | डाटा सुरक्षा | नगण्य | उच्च |
९ | कार्यक्रम विभाजन | कार्यक्रम कार्यों में विभाजित है। | कार्यक्रम वर्गों और वस्तुओं में विभाजित है। |
१० | मानक I / O संचालन | स्कैनफ / प्रिंटफ | लागत / लागत |
ग्यारह | फोकस / जोर | कार्यों और / या प्रक्रियाओं पर जोर देता है। | कार्यों के बजाय डेटा पर जोर देता है। |
१२ | मुख्य () फ़ंक्शन | अन्य कार्यों के माध्यम से मुख्य कॉल कर सकते हैं। | किसी भी बिंदु से मुख्य कॉल करना संभव नहीं है। |
१३ | चर | समारोह की शुरुआत में घोषित किया जाना है। | कार्यक्रम में कहीं भी घोषित किया जा सकता है। |
१४ | सार्वत्रिक चर | एकाधिक घोषणाएँ | कोई एकाधिक घोषणाएँ नहीं। |
पंद्रह | संदर्भ चर और संकेत | केवल संकेत | दोनों |
१६ | गणना | केवल पूर्णांक प्रकार। | विकृत प्रकार |
१। | स्ट्रिंग्स | केवल चार का समर्थन करता है () | स्ट्रिंग क्लास का समर्थन करता है जो अपरिवर्तनीय है। |
१। | इनलाइन समारोह | समर्थित नहीं | समर्थित |
१ ९ | डिफ़ॉल्ट तर्क | समर्थित नहीं | समर्थित |
बीस | संरचनाओं | संरचना सदस्यों के रूप में कार्य नहीं हो सकते। | संरचना सदस्यों के रूप में कार्य हो सकते हैं। |
इक्कीस | वर्ग और वस्तुएँ | समर्थित नहीं | समर्थित |
२२ | डेटा के प्रकार | केवल अंतर्निहित और आदिम डेटा प्रकार समर्थित हैं। कोई बूलियन और स्ट्रिंग प्रकार नहीं। | बिलियन और स्ट्रिंग प्रकार अंतर्निहित डेटा प्रकारों के अलावा समर्थित हैं। |
२। ३ | कार्य अतिभार | समर्थित नहीं | समर्थित |
२४ | विरासत | समर्थित नहीं | समर्थित |
२५ | कार्यों | डिफ़ॉल्ट व्यवस्था के साथ कार्यों का समर्थन नहीं करता है। | डिफ़ॉल्ट व्यवस्था के साथ कार्यों का समर्थन करता है। |
२६ | नाम स्थान | समर्थित नहीं | समर्थित |
२। | सोर्स कोड | मुक्त-स्वरूप | मूल रूप से C प्लस ऑब्जेक्ट ओरिएंटेड से लिया गया है। |
२। | मतिहीनता | नहीं होना | वर्तमान |
२ ९ | जानकारी छिपाना | समर्थित नहीं | समर्थित |
३० | कैप्सूलीकरण | समर्थित नहीं | समर्थित |
३१ | बहुरूपता | समर्थित नहीं | समर्थित |
32 | वर्चुअल फ़ंक्शन | समर्थित नहीं | समर्थित |
३३ | जीयूआई प्रोग्रामिंग | Gtk टूल का उपयोग करना। | Qt टूल का उपयोग करना। |
3. 4 | मानचित्रण | आसानी से डेटा और फ़ंक्शंस को मैप नहीं कर सकते। | डेटा और फ़ंक्शंस को आसानी से मैप किया जा सकता है। |
३५ | स्मृति प्रबंधन | मलोक (), कॉलोक (), नि: शुल्क () फ़ंक्शन। | नए () और डिलीट () ऑपरेटर। |
३६ | डिफ़ॉल्ट हेडर | Stdio.h | iostream हेडर |
३। | अपवाद / त्रुटि से निपटने | कोई प्रत्यक्ष समर्थन नहीं। | समर्थित |
३। | कीवर्ड | 32 कीवर्ड का समर्थन करता है। | 52 कीवर्ड का समर्थन करता है। |
३ ९ | टेम्पलेट्स | समर्थित नहीं | समर्थित |
C और C ++ पर अक्सर पूछे जाने वाले प्रश्न
अब तक, हमने C Vs C ++ के बीच महत्वपूर्ण अंतर देखा है। अब हम C, C ++ और उनकी तुलना के बारे में अक्सर पूछे जाने वाले कुछ सवालों के जवाब देंगे।
Q # 1) C और C ++ अभी भी क्यों उपयोग किए जाते हैं?
उत्तर: C और C ++ अभी भी बाजार में कई प्रोग्रामिंग भाषाओं के बावजूद लोकप्रिय है। मुख्य कारण यह है कि सी और सी ++ हार्डवेयर के करीब हैं। दूसरे, हम इन भाषाओं के साथ कुछ भी कर सकते हैं।
अन्य भाषाओं की तुलना में C ++ का प्रदर्शन अधिक है। जब यह एम्बेडेड सिस्टम डेवलपमेंट की बात आती है, तो सी स्पष्ट विकल्प लगता है। यद्यपि एक आकार सभी के लिए उपयुक्त नहीं है, फिर भी कुछ एप्लिकेशन और परियोजनाएं हैं जिन्हें केवल C और C ++ का उपयोग करके विकसित किया जा सकता है।
Q # 2) कौन सी अधिक कठिन है C या C ++? या कौन सा बेहतर है C या C ++?
उत्तर: दरअसल, दोनों ही मुश्किल हैं और दोनों आसान हैं। C ++ C पर बनाया गया है और इस तरह C के सभी फीचर्स को सपोर्ट करता है और इसमें ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग फीचर्स भी हैं। जब सीखने की बात आती है, तो आकार-वार C कुछ अवधारणाओं के साथ छोटा होता है, जबकि C ++ विशाल होता है। इसलिए हम कह सकते हैं कि C C ++ से आसान है।
जब प्रोग्रामिंग की बात आती है, तो आपको उस एप्लिकेशन के संदर्भ में सोचना होगा जो आप विकसित कर रहे हैं। इस प्रकार एप्लिकेशन को प्रोग्राम किए जाने के लिए, हमें दोनों भाषाओं के पेशेवरों और विपक्षों का वजन करना होगा और यह तय करना होगा कि एप्लिकेशन को विकसित करना कितना आसान है।
निष्कर्ष निकालने के लिए, हम कह सकते हैं कि इसका कोई निश्चित उत्तर नहीं है कि कौन अधिक कठिन है या कौन सा बेहतर है।
Q # 3) क्या हम C के बिना C ++ सीख सकते हैं? क्या C ++ सीखना कठिन है?
उत्तर: हाँ, हम C ++ को C को जाने बिना आसानी से सीख सकते हैं।
इस प्रकार, सही मानसिकता और अच्छी प्रोग्रामिंग ज्ञान के साथ, आप सी ++ को छूने के बिना कूद सकते हैं। सी के रूप में सी ++ का सबसेट है, सी ++ सीखने के दौरान, आप हमेशा सी भाषा पकड़ लेंगे।
Q # 4) कौन सा तेज C या C ++ है?
उत्तर: दरअसल, यह इस बात पर निर्भर करता है कि हम किस फीचर का इस्तेमाल कर रहे हैं। उदाहरण के लिए, यदि हमने अपने C ++ प्रोग्राम में वर्चुअल फ़ंक्शन जैसे ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग सुविधाओं का उपयोग किया है, तो यह प्रोग्राम धीमा होने के लिए बाध्य है क्योंकि वर्चुअल टेबल बनाए रखने के लिए हमेशा अतिरिक्त प्रयासों की आवश्यकता होती है और वर्चुअल फ़ंक्शन के बारे में अन्य विवरण।
लेकिन अगर हम C ++ में सामान्य सुविधाओं का उपयोग कर रहे हैं, तो यह C ++ प्रोग्राम और किसी अन्य C प्रोग्राम में समान गति होगी। इस प्रकार यह उन कारकों पर निर्भर करता है जैसे कि हम जो एप्लिकेशन विकसित कर रहे हैं, वे विशेषताएं जो हम उपयोग कर रहे हैं, आदि।
Q # 5) क्या C ++ एक अच्छी शुरुआत है?
उत्तर: जवाब हां और नहीं है।
यह हां है क्योंकि हम किसी भी प्रोग्रामिंग भाषा को सीख सकते हैं यदि हमारे पास सही प्रेरणा, निवेश करने का समय और सीखने की इच्छा हो। केवल शर्त यह है कि आपके पास बुनियादी कंप्यूटर ज्ञान और बुनियादी प्रोग्रामिंग शब्दावली होनी चाहिए।
इस प्रकार जब हम C ++ से शुरू करते हैं, तो जब तक हम भाषा और अन्य निर्माण जैसे लूप, निर्णय लेना आदि सीख रहे होते हैं, तब तक यह किसी भी अन्य भाषा की तरह काफी आसान होता है।
अब हम नो पार्ट पर आएंगे।
हम जानते हैं कि C ++ बहुत विशाल है और इसमें बहुत सारी विशेषताएं हैं। इस प्रकार जब हम अपनी शिक्षा को आगे बढ़ाते हैं, तो हमें C ++ प्रोग्रामिंग में बहुत सारी चुनौतियों का सामना करना पड़ सकता है, इसलिए नौसिखिए के रूप में हम उन्हें संभालने में सक्षम नहीं हो सकते हैं।
बस उस स्थिति की कल्पना करें जब मैं पहली भाषा के रूप में C ++ से शुरू करता हूं और मैं मेमोरी लीक का सामना करता हूं !! इसलिए, इस मामले के लिए पायथन या रूबी जैसी सरल भाषाओं के साथ शुरुआत करना अच्छा है। प्रोग्रामिंग के हैंग हो जाओ और फिर C ++ के लिए जाओ।
निष्कर्ष
इस ट्यूटोरियल में, हमने विभिन्न विशेषताओं के संदर्भ में C Vs C ++ भाषाओं के बीच मुख्य अंतर का पता लगाया है।
जबकि C एक प्रक्रियात्मक भाषा है और C ++ एक वस्तु-उन्मुख प्रोग्रामिंग भाषा है, जिसे हमने देखा है कि कई विशेषताएं C ++ के लिए अनन्य हैं। जैसा कि C ++ C से लिया गया है, यह C द्वारा समर्थित कई विशेषताओं का समर्थन करता है।
बाद के ट्यूटोरियल में, हम C ++ और जावा और पायथन जैसी अन्य प्रोग्रामिंग भाषाओं के बीच अंतर पर चर्चा जारी रखेंगे।
=> पूर्ण सी ++ प्रशिक्षण श्रृंखला यहां देखें
अनुशंसित पाठ
- हाथों पर उदाहरण के साथ अजगर मुख्य समारोह ट्यूटोरियल
- गिट बनाम गिटहब: उदाहरणों के साथ अंतरों का अन्वेषण करें
- टीडीडी बनाम बीडीडी - उदाहरणों के साथ अंतर का विश्लेषण करें
- मुफ़्त के लिए सी ++ प्रोग्रामिंग जानने के लिए 70+ बेस्ट सी ++ ट्यूटोरियल
- C ++ में दिनांक और समय कार्य उदाहरण के साथ
- डेटा चालित परीक्षण कार्य (QTP और सेलेनियम के उदाहरण)
- शैल C ++ में उदाहरणों के साथ
- उदाहरणों के साथ पायथन डेटटाइम ट्यूटोरियल