क्या यह ठीक है अगर मुझे C नहीं पता है लेकिन मैं C ++ से अच्छा हूं? [बन्द है]


23

मेरा एक प्रश्न है जो मुझे लगता है कि यहां सबसे अच्छा उत्तर दिया जा सकता है।

मैं बहुत अच्छा हूं C++, अच्छा है क्योंकि मैं भाषा के साथ सहज हूं, मैंने Accelerated C++लगभग सभी अभ्यासों को पढ़ा और किया है।

हालाँकि, मुझे एक बड़ी समस्या है। क्या मुझे सीखने की ज़रूरत है C? मैंने Cअपने जीवन में कभी ऐसा नहीं किया । मैंने अभी शुरुआत की C++जब मैंने प्रोग्रामिंग के साथ शुरुआत की। संभवतः कारण मुझे यह जानने में हमेशा दिलचस्पी थी कि हर कोई भाषा को इतना जटिल क्यों कहता है। अब हालांकि मुझे उस प्रश्न का उत्तर पता है;)

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

और जो लोग कहते हैं कि 'आप C ++ होने पर C को कैसे नहीं जान सकते हैं', कृपया उत्तर न दें :) कोई अपराध नहीं है, लेकिन मैं यह समझने में विफल हूं कि C सीखना आवश्यक क्यों है।



1
DumbCoder द्वारा उद्धृत लेख एम्बेडेड प्रोग्रामिंग में C की लोकप्रियता के बारे में है।
क्रिस डब्ल्यूडब्ल्यू

2
@ क्रिस - हां, लेकिन यह अभी भी सी दिखाता है कि मास्टर के लिए आसान नहीं है, यह नहीं कि सी ++ मास्टर करना आसान है।
DumbCoder

@DumbCoder: ओह नो, एम्बेडेड प्रोग्रामिंग। डेस्कटॉप की तुलना में कितने काम एम्बेडेड हैं?
डेडएमजी

@DeadMG - किसी भाषा को लिखने से उस भाषा के लिए कितनी नौकरियां उपलब्ध हैं, इससे कोई लेना-देना नहीं है। और आपको यह विचार कहां से मिला कि सी का उपयोग केवल एम्बेडेड प्रोग्रामिंग में किया जाता है?
डम्ब्कॉडर

जवाबों:


36

यदि आप C ++ जानते हैं, तो मैं C को इसके लिए नहीं सीखूंगा। आपको यह जानने में मुश्किल नहीं होनी चाहिए कि आपको कब और क्या चाहिए।

मैं अभी तक किसी ऐसे व्यक्ति से मिलता हूं जो दावा करता है कि वे C ++ जानते हैं, लेकिन C किसी ऐसे व्यक्ति से नहीं जो दावा करता है कि वे C / C ++ जानते हैं।


अरे हाँ। यह C ++ शहरी मिथकों पर SO प्रश्न में आइटम सूची पहले है: stackoverflow.com/questions/2245196/c-urban-myths

4
+1। यदि आप C ++ जानते हैं, तो एक शुरुआत के लिए, यह C सीखने के लिए एक पेशाब है, और दूसरी बात, यह वास्तव में महत्वहीन है।
डेडएमजी

6
@DeadMG सिंटैक्स को सीखना आसान हो सकता है, क्योंकि यह सिर्फ जानना है कि C ++ के किन हिस्सों को छोड़ना है, लेकिन सामान्य मुहावरों को सीखना कठिन है, और यकीनन सबसे महत्वपूर्ण हिस्सा है। जब तक मुझे C की आवश्यकता न हो, मैं नहीं सीखूंगा।
कीथबी

6
@chubsdad का अर्थ है कि मुझे अपने CV पर "मुझे जावा / जावास्क्रिप्ट पता है" नहीं डालना चाहिए?
गुप्त


23

एक बहु-भाग उत्तर। मेरी राय ही।

  1. मेरा अनुभव (25 वर्ष कॉलेज से बाहर) है कि C ++, असामान्य रूप से बढ़ते हुए, भविष्य के लिए भविष्य के लिए दिलचस्प प्रणालियों के लिए महत्वपूर्ण रहेगा। इसलिए मैं अपनी विशेषज्ञता के मुख्य क्षेत्र के रूप में उस पर कायम हूं। काम कठिन, दिलचस्प और महत्वपूर्ण है।

  2. C ++ प्रोग्रामर आम तौर पर मूल्यवान होते हैं क्योंकि वे प्रबंधित भाषाओं पर बड़े नहीं हुए हैं, और इसलिए यह समझने की अधिक संभावना है कि कवर के तहत क्या हो रहा है। इसके विपरीत C ++ से C # / Java में संक्रमण करना आसान है क्योंकि प्रवेश के लिए बार अधिक है।

  3. इसलिए मेरे विचार में, C को C ++ में सक्षम रूप से प्रोग्राम करने के लिए C को समझना आवश्यक नहीं है, C की संदर्भ में C ++ क्यों मौजूद है - इसकी सीमाओं और इसकी शक्तियों के संदर्भ में यह समझ विकसित करना कि वे C ++ में कैसे संबोधित हैं या नहीं हैं - क्या होगा समय के साथ आपके लिए अमूल्य।

शुभकामनाएँ।


आप क्या कहते हैं कि C ++ तेजी से असामान्य है? आपके अनुभव में, यह क्या विस्थापित कर रहा है?
प्रिक्सोलिटिक


13

यहाँ बज़ने क्या कहना है:

C ++ को जानना एक सही शर्त है?

गलत। C और C ++ का सामान्य सबसेट, C. की तुलना में सीखना आसान है। मैन्युअल रूप से पकड़ने के लिए कम प्रकार की त्रुटियां होंगी (C ++ प्रकार प्रणाली सख्त और अधिक अभिव्यंजक है), सीखने के लिए कम चालें (C ++ आपको परिधि के बिना अधिक चीजों को व्यक्त करने की अनुमति देता है) , और बेहतर पुस्तकालय उपलब्ध हैं। C ++ का सबसे अच्छा प्रारंभिक उपसमूह "C का सभी" नहीं है।


4

बस मेरी व्यक्तिगत राय: यदि आप सी ++ जानते हैं, तो आप सी में लिख सकते हैं। कुछ अनुभव अच्छा होगा, लेकिन यह कोई समस्या नहीं है। इसके विपरीत सही नहीं है: सी ज्ञान अतिरिक्त सीखने के बिना, सी ++ में लिखने की अनुमति नहीं देता है। मैंने सी कभी नहीं सीखा है, और इसका उपयोग तब करें जब यह आवश्यक हो, बिना किसी समस्या के।


3
@ एलेक्स फ़र्बर - "यदि आप C ++ जानते हैं, तो आप C में लिख सकते हैं"। मुझे बहुत संदेह है कि :)
DumbCoder

4
सहमत नहीं हैं। IME, प्रोग्रामर जो C ++ सीखते हैं, वे यह महसूस नहीं करते हैं कि C ++ में C क्या है। प्रोग्रामर जो पहले C सीखते हैं वे C ++ में आसानी से लिख सकते हैं, लेकिन गैर-मुहावरेदार तरीके से शुरू करते हैं।
dan04

1
यह मेरे व्यक्तिगत अनुभव पर आधारित है। मैंने C ++ सीखा और C ++ में अपना अधिकांश काम किया। लेकिन मैं सी का उपयोग करता हूं जब आवश्यक हो, बिना किसी समस्या के।

विशेष रूप से यह देखते हुए कि सी में सभी प्यारा वर्ग के लिबास उपलब्ध नहीं हैं। सी + + और जावा जैसी भाषाओं की जीत लिबास है, न कि अंतर्निहित भाषा सुविधाएँ।

8
C ++ प्रोग्रामर C के माध्यम से अपने तरीके से हैक करने की कोशिश कर रहे हैं, इसी कारण से C प्रोग्रामर C ++ बुरा कोड के माध्यम से अपना रास्ता हैक करने की कोशिश कर रहे हैं। C लोग C ++ को "C कक्षाओं के साथ" उपयोग करते हैं जबकि C ++ लोग C को "C ++ बिना वर्गों के" के रूप में उपयोग करते हैं।
जॉन डिब्लिंग

4

ठीक है, पहली चीजें पहले - नहीं, सी जानना सी + + सीखने के लिए एक शर्त नहीं है। वास्तव में, यह एक बाधा हो सकती है।

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


C ++ सीखने में बाधा क्यों होगी? मैं यह नहीं कह रहा हूं कि मैं जरूरी असहमत हूं, लेकिन यह एक साहसिक बयान है।
केसी पैटन

3

जैसे अगर मैं किसी कंपनी में इंटरव्यू देता हूं, अगर मैं उन्हें बताता हूं कि मुझे C नहीं पता है - तो क्या वे इसे ठीक मानेंगे?

पूछें कि क्या उन्हें सी की जरूरत है (और अगर वे ऐसा करने के लिए सीखने के लिए तैयार हैं या नहीं)।

इसलिए अगर वे मुझे इसे लागू करने के लिए कहते हैं, और अगर मैं इसे सी ++ में करता हूं, तो क्या यह स्वीकार्य है?

मुझे उम्मीद है, अगर वे C ++ में काम करने के लिए आपका इंटरव्यू / हायरिंग कर रहे हैं।

यदि यह "डेटा संरचनाएं" सवाल है, तो आप उनसे पूछ सकते हैं कि क्या वे एसटीएल कंटेनरों का उपयोग करके प्रदर्शित करना चाहते हैं, या क्या (क्योंकि यह एक साक्षात्कार है) वे चाहते हैं कि आप स्क्रैच से डेटा संरचनाओं को लागू करें।


2

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


2

क्या मुझे C सीखने की आवश्यकता है?

नहीं, आपको जरूरत नहीं है। अवधि।

लेकिन किसी भी नई प्रोग्रामिंग भाषा को सीखना लंबे समय में फायदेमंद है। विभिन्न प्रोग्रामिंग प्रतिमानों के आधार पर भाषा सीखना और भी अधिक फायदेमंद है। चाहे वह एक ओओपी भाषा (स्मॉलटॉक या सी ++) हो, एक गतिशील भाषा (लिस्प, क्लोजर, पाइथन), कार्यात्मक (लिस्प, हास्केल, एरलंग), समवर्ती (एर्लांग, गो, अल्जोल 68, स्मॉलटॉक), या जो भी (फोरट्रान 03,) पर्ल, फोर्थ) अन्य नए फंसे हुए प्रतिमान आपके फैंस को चौंका देते हैं ; अलग-अलग भाषाएं सीखने से आपको सोचने की कई रेखाओं के संपर्क में आने में मदद मिलती है, जिनमें से प्रत्येक कार्य को संभालने के लिए अपनी ताकत और कमजोरियों के साथ है।

फोर्ट्रान अभी भी संख्यात्मक अभिकलन में हावी है, COBOL अभी भी बड़ी बीमा कंपनियों, यूनिक्स, बीएसडी, और लिनक्स में एक मुख्य आधार है। अभी भी मुख्य रूप से सी पर आधारित हैं। पुराना कोड हमेशा उम्र के साथ अपना मूल्य नहीं खोता है क्योंकि यह जरूरी नहीं है यांत्रिक उपकरणों की तरह जिन्हें समय के साथ बदलने की आवश्यकता होती है। इतनी पुरानी भाषा रोजगार के मामले में नई भाषा के शांत कारक के रूप में मूल्यवान हो सकती है।

जिस तरह प्राकृतिक (मानव) भाषाओं में बहुभाषी बनने के लिए अध्ययन करने से यकीनन खुद को अभिव्यक्त करने की आपकी क्षमता में सुधार होता है, वही कंप्यूटर भाषाओं के लिए एक ही तरह का बोनस देता है।

इसलिए जब मुझे लगता है कि यह महत्वपूर्ण है (समय के साथ) न केवल कई भाषाओं में धाराप्रवाह बनना सीखना है, बल्कि कई प्रोग्रामिंग प्रतिमानों में धाराप्रवाह होना अधिक महत्वपूर्ण है।

मैं C ++ के साथ बहुत अच्छा हूं, अच्छा है क्योंकि मैं भाषा के साथ सहज हूं, मैंने त्वरित C ​​++ पढ़ा है और सभी अभ्यास किए हैं

मैं बैक अप करने जा रहा हूं, और कहता हूं कि C ++ एक समृद्ध और जटिल भाषा है, इसके सभी समृद्ध (या बदसूरत) सूक्ष्मताओं में वास्तव में धाराप्रवाह बनने के लिए जोखिम और निरंतर अभ्यास के वर्षों लगेंगे।

अपना समय ले लो, और सीखते रहना सबसे महत्वपूर्ण सलाह है जो मैं आपको दे सकता हूं। किसी और के लिए इसे लेने के लिए, मैं आपको दस वर्षों में पीटर नॉर्विग्स टीच योरसेल्फ प्रोग्रामिंग के पढ़ने के लिए प्रोत्साहित करता हूं ।


1

आपके प्रश्न का बहुत कम उत्तर है: यह आपकी आवश्यकताओं पर अत्यधिक निर्भर करता है। कुछ कंपनियां मुख्य रूप से सी पर भरोसा करती हैं, कभी-कभी एक अवशेष के रूप में (यदि सी पहले से ही वहां वर्षों से उपयोग किया गया था)। सी। सी। के साथ अन्य कंपनियों का कोई लेना-देना नहीं है, पायथन या जावा की तुलना में एक निम्न-स्तरीय भाषा है, और बहुत से अनुप्रयोग प्रोग्रामिंग को सी के किसी भी ज्ञान की आवश्यकता नहीं हो सकती है। ओओपी भाषाओं के विपरीत, सी के लिए अलग माइंडफ्रेम की आवश्यकता होती है, जिसके द्वारा मेरा मतलब है कि कार्यक्रमों को संरचित और अलग तरीके से आयोजित किया जाता है, और कुछ अधिक बारीक पहलुओं को ध्यान में रखा जाना चाहिए। यह आम तौर पर उस मुहावरे को सीखने के लिए फायदेमंद है, यहां तक ​​कि बस अपने दिमाग का विस्तार करने के लिए, इसलिए बोलने के लिए। लेकिन फिर से, क्या कंपनियां देखभाल करेंगी यह उनकी जरूरतों पर निर्भर करता है। कुछ आपको भाषा का विकल्प दे सकते हैं, कुछ को जावा, अन्य C ++, अन्य अभी भी C आदि की आवश्यकता हो सकती है? हाँ आज' s दुनिया में प्रोग्रामिंग के इतने सारे क्षेत्र हैं कि आप कभी भी C कोड से नहीं गुजर सकते हैं। क्या आपको C सीखना चाहिए? मैं कहता हूँ - हाँ, बाद में उपयोग की परवाह किए बिना।


1

कुछ लोग C ++ जानने के दौरान C में आरामदायक प्रोग्रामिंग महसूस नहीं कर सकते हैं।

सी ++ के आसपास एक "सुरक्षात्मक" संरचना है जो न केवल संरचना को चलाने के लिए बल्कि एक कार्यक्रम के एल्गोरिदम में भी योगदान करती है। उदाहरण के लिए एसटीएल संरचना और एल्गोरिदम की मदद, स्पष्ट वस्तु उन्मुख प्रोग्रामिंग दृष्टिकोण, चोर / विनाशकारी, टेम्पलेट्स से आने वाली अमूर्त परत ...

जबकि सी - कहा जाता है - सरल, यह प्रोग्रामर को संरचना और एल्गोरिदम को समस्या मॉडलकरण में खुद को इंजेक्ट करने के लिए मजबूर करता है। यह प्रोग्रामिंग स्वतंत्रता की गहन वृद्धि है।
लेकिन इसकी एक लागत है, क्योंकि कुछ लोगों को अधिक लगाए गए ढांचे की आवश्यकता होती है, और एक कार्यक्रम का निर्माण करते हैं जो बड़े होने के बाद तेजी से बनाए रखने के लिए तेजी से कठिन हो जाता है। मैं अक्सर कहता हूं कि समस्या भाषा (C) नहीं है, लेकिन इसके साथ कोई क्या करता है।

यह कहा जा रहा है, एक भर्ती के रूप में, मैं किसी को मजबूत सी ++ कौशल के साथ साक्षात्कार करने के लिए खुश हूं, लेकिन अगर वह पूरी सी परियोजना विकसित करने के लिए पर्याप्त भाषा-स्वायत्तता है, तो और भी अधिक उत्साही होगा।

इसके अलावा, एक अच्छा सी प्रोग्राम अच्छे डेवलपर सिस्टम कौशल का तात्पर्य करता है, क्योंकि भाषा के लिए एक कुशल रननेबल के निर्माण के लिए सिस्टम घटकों की उचित समझ की आवश्यकता होती है।


मैं यह नहीं कहूंगा कि यह प्रोग्रामर स्वतंत्रता को बढ़ाता है- आप हमेशा C ++ में अपनी संरचना और एल्गोरिदम लिख सकते हैं।
डेडएमजी जूल

0

यदि आप C ++ में सहज हैं, तो मैं सीखने की चिंता नहीं करूँगा। C ++ में C पर बहुत सुधार हुआ है (निर्माणकर्ताओं / विध्वंसक, बेसलाइन कंटेनर, स्ट्रीम और स्ट्रिंग के साथ RAII का समर्थन करने की क्षमता बड़ी है)।

मैं फिर भी सीखने सुझाव है printfऔर scanfतो आप कोड को पढ़ सकता है कि का उपयोग करता है उन्हें कार्यों की श्रृंखला। वे C ++ में काफी लोकप्रिय हैं इसलिए यह जानना कि वे किस तरह से उपयोगी हैं। मैं बिना किसी विशेष कारण के आपके कोड में उनका उपयोग करने का सुझाव नहीं देता।


0

यदि आपको C कोड का उत्पादन करने की उम्मीद है तो आपको केवल C जानने की आवश्यकता है। यदि नहीं, तो कोई समस्या नहीं है।

मैंने पिछले 6 वर्षों में C को पेशेवर रूप से नहीं लिखा है; जावा या C # या पायथन जैसे अन्य भाषाओं द्वारा कम से कम बहुत सारे एप्लिकेशन डोमेन बेहतर सेवा प्रदान करते हैं (कम से कम उत्पादकता के दृष्टिकोण से, यदि प्रदर्शन न हो)। आप निश्चित रूप से जीवित रह सकते हैं और यहां तक ​​कि कभी भी सी को छूने के बिना एक सॉफ्टवेयर डेवलपर के रूप में कामयाब हो सकते हैं।

यदि आप अपने स्वयं के दुरुपयोग के लिए सी सीखना चाहते हैं, तो यह ठीक है। इस बात पर निर्भर करते हुए कि आपने C ++ को कैसे सीखा और आप C ++ पर कितने निर्भर हैं - विशिष्ट विशेषताएं (टेम्प्लेट, संदर्भ प्रकार, STL, ओवरलोडिंग) जब आपको पता चलता है कि आपको 90% टूल फेल हो सकते हैं, जो प्रोग्रामिंग को सहनीय बनाने के लिए उपलब्ध नहीं हैं। C ++ या Java की तुलना में C में मेमोरी मैनेजमेंट की तरह स्टफ बहुत ही श्रमसाध्य और थकाऊ है। C और C ++ के बीच कुछ असंगतताएं भी हैं, और प्रत्येक नए भाषा संस्करण के साथ यह अंतराल चौड़ी होती जा रही है।

अभी भी एप्लिकेशन डोमेन हैं जहां सी नौकरी के लिए सही उपकरण है: छोटे, तेज, हुड के नीचे बहुत जादू नहीं है, और यह विधानसभा नहीं है। लेकिन सामान्य अनुप्रयोग विकास (विशेष रूप से जीयूआई-चालित डेस्कटॉप अनुप्रयोग) के लिए, बेहतर उपकरण उपलब्ध हैं।


-1

मुझे लगता है कि यदि आप सी ++ के साथ सहज हैं तो आप सी के साथ भी होंगे।

दोनों के बीच मुख्य अंतर यह है कि सी ++ साफ है - वस्तु उन्मुख - सी नहीं है :)


1
मैं C ++ का बहुत बड़ा प्रशंसक हूं, लेकिन मैं इसे साफ नहीं कहूंगा। और C ++ बहु-प्रतिमान है, जिसका अर्थ है कि अच्छा C ++ कोड आवश्यक रूप से ऑब्जेक्ट ओरिएंटेड नहीं है।
कीथबी

-1

C को जानने से आपको स्मृति प्रबंधन आदि में और अधिक जानकारी मिलेगी। यह सब इस बारे में है कि आप किस निम्न-स्तर को प्राप्त करना चाहते हैं, और क्या कम लीवर में चीजों को समझना आपकी मदद करता है, या नहीं। आप इसे एक कदम आगे ले जा सकते हैं और विधानसभा भाषा भी सीख सकते हैं, लेकिन यह सब निर्भर करता है कि यह आपके लिए कितना उपयोगी है।

यह भी निर्भर करता है कि आप C में प्रोग्राम करना चाहते हैं या नहीं। :)


-1

हां, ठीक है...

IMHO, चूंकि आप अच्छे हैं C++, यह वास्तव में पर्याप्त है ...

मुझे यकीन है कि ऐसे उद्योग हैं जो सी ++ प्रोग्रामर की तलाश में हैं ... लेकिन एक बार जब आप इसमें होते हैं, तो यह सब आपकी परियोजना की जरूरतों पर निर्भर करता है .. जो कुछ भी आपको आवश्यक है उसे सीखना होगा .. यह जावा, .नेट या यहां तक ​​कि सी भी हो सकता है। .. अगर कंपनी आपको भुगतान करने के लिए तैयार है, तो बस इसे जानें ...

यदि आप अपने करियर के पहले चरण में हैं, तो IME साक्षात्कारकर्ता आपके रवैये और उस भाषा की समझ पर ध्यान देते हैं, जिसे आप सहज महसूस करते हैं।

Cखातिर सीखने के बजाय , C ++ को थोड़ा अच्छी तरह से सीखें .. आप जो भी अच्छे हैं उस पर सुधार करें .. मुझे यकीन है कि बहुत कुछ है जो आपको सीखना पड़ सकता है ... मेरे लिए, सीखने के लिए C ++ में हमेशा कुछ है ..: )


-1

मुझे लगता है कि सी के बारे में जानने के लिए आपके लिए सबसे महत्वपूर्ण चीजें सी और सी ++ के बीच के अंतर हैं। आप की संभावना कुछ बिंदु पर इसमें कुछ सी शैली है कि कुछ कोड दिखाई देगा, और आप भ्रमित नहीं होना चाहिए जब फिर आप देख malloc, free, printf, fopen, या fclose। आपको यह भी पता होना चाहिए कि ये कैसे समान हैं और साथ ही साथ वे अपने C ++ समकक्षों से कैसे भिन्न हैं।

आप यह भी पता होना चाहिए कि <<और >>छोड़ दिया और सही पारी ऑपरेटरों, नहीं प्रविष्टि ऑपरेटर हैं। C ++ में, जहाँ आप ऑपरेटरों को अधिभारित कर सकते हैं, इन्हें स्ट्रीम सम्मिलन और इसी तरह की चीजों को करने के लिए अतिभारित किया गया है, लेकिन वे अभी भी पूर्णांक को स्थानांतरित करने के लिए उपयोग किए जाते हैं।

सुनिश्चित करें कि आप उन सभी मूलभूत सुविधाओं को समझते हैं जो C ++ में हैं जो C. में नहीं हैं। यदि आप stackoverflow.com को पढ़ते हैं, तो आपने कई ऐसे कई प्रश्न देखे होंगे, जिनमें भाषाओं के अंतर और लोगों की गलतफहमी शामिल होती है।

आपको सी प्रीप्रोसेसर के साथ भी खुद को परिचित करना चाहिए, जो कि सी ++ प्रीप्रोसेसर के रूप में लगभग (और अक्सर उसी प्रोग्राम के रूप में) है। यह जानने के लिए कि इसका उपयोग C ++ में कैसे किया जाएगा, लेकिन यह C पर बहुत अधिक निर्भर है।

एक बड़ी बात जो C से निपटना मुश्किल है, वह C ++ विनाशकारी है। उन चीजों को संसाधन मुक्त करने की देखभाल करने वाले सभी स्थानों पर बुलाया जा सकता है, लेकिन सी में आपको उन सभी को अधिक स्पष्ट रूप से करना होगा। C ++ प्रोग्रामर के लिए ऐसा करना आसान है।

जहां तक ​​साक्षात्कार है, अगर कोई आपसे C में कुछ सामान्य एल्गोरिथ्म के लिए कोड लिखने के लिए कहता है और आप कुछ ऐसा करते हैं:

struct foo {
       int a;
       void * b;
};
foo x;  // in C++ this would work, but in C it would fail because struct names aren't in the
        // type name table unless you put them there with typedef

मुझे नहीं लगता कि वे यह तय करने जा रहे हैं कि आप नहीं जानते कि आप क्या कर रहे हैं क्योंकि आपने ऐसा नहीं किया है:

struct foo x;

और उन्हें वास्तव में परवाह नहीं करनी चाहिए यदि आपने उपयोग किया है coutजब तक कि वे आपको दिखाने के लिए क्या करने की कोशिश कर रहे हैं, तो इनपुट और आउटपुट से निपटने की आपकी क्षमता है, जो C ++ आम मामलों के लिए आसान बनाता है।

यदि आप अपने आप को एक नौकरी के लिए साक्षात्कार की स्थिति में पाते हैं जिसके लिए आपको C की आवश्यकता होती है, तो आपको C ++ के साथ उसके ओवरलैप के बाहर C के ज्ञान की कमी के बारे में उल्टा होना चाहिए। वे संभवतः समझेंगे कि एक अच्छा प्रोग्रामर C को C ++ से काफी जल्दी संक्रमण करने में सक्षम होना चाहिए।

यह सब कहा जा रहा है, C किसी भाषा का उतना बड़ा नहीं है। मानक लाइब्रेरी C ++ की तुलना में बहुत छोटी है और यह अपने आप को इसके सबसे सामान्य टुकड़ों से परिचित कराने के लिए एक बड़ा सौदा नहीं है, इसलिए इसे सीखने के लिए वास्तव में चोट नहीं पहुंच सकती है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.