2010-08-17 12 views
5

आईएम जावा प्रोग्रामर शुरू करने में मदद करें, एक छोटा सी ज्ञान जो सी ++ के साथ शुरू करना चाहता है, कोई व्यक्ति एक अच्छा ट्यूटोरियल सुझा सकता है?नई से सी ++, मुझे

भी साथ किसी भी मदद:

  • परियोजनाओं
  • क्या आईडीई पढ़ने की सिफारिश के साथ सीखने के लिए? मैं वर्तमान में NetBeans का उपयोग
  • सामान्य सी ++ सलाह
+4

सिफारिश पढ़ने के लिए, http://stackoverflow.com/questions/388242/the-definitive-c-book-guide-and-list देखना । –

+0

जांचें कि नेटबीन के पास सी/सी ++ प्लगइन्स हैं (मुझे यकीन है कि यह करता है)। – FrustratedWithFormsDesigner

+8

फ्रैंक होने के लिए, यदि आप उचित सी ++ सीखना चाहते हैं, तो दिखाएं कि आपने कभी जावा या सी नहीं सीखा है, हां, वे एक समान वाक्यविन्यास साझा करते हैं, लेकिन वे चीजों को अलग-अलग करते हैं जो जावा या सी में सामान्य अभ्यास को लागू करने का प्रयास करते हैं सी ++ में आपदा का कारण बनता है। –

उत्तर

6

अपने लक्षित प्लेटफ़ॉर्म पर निर्भर करता है, मैं विजुअल स्टूडियो को आईडीई के रूप में उपयोग करता हूं।

जावा के विपरीत सी ++ का सामान्य नियम यह है कि इसमें जावा की तुलना में बहुत अधिक स्वतंत्रता का नरक है, विशेष रूप से टेम्पलेट बनाम जेनेरिक, ढेर बनाम ढेर, और प्रवर्तन (या इसकी कमी) के संबंध में वस्तु अभिविन्यास और इसके सिद्धांतों। उदाहरण के लिए, सी ++ encapsulation-breaking दोस्त कथन प्रदान करता है, const_cast, स्टैक और पॉइंटर्स पर ऑब्जेक्ट आवंटित करता है, उन्हें इंगित कर सकते हैं, टेम्पलेट्स जेनरिक से इत्यादि असीमित रूप से अधिक शक्ति रखते हैं।

अन्य मुख्य चीज़ जो आपको प्राप्त करना होगा संसाधन प्रबंधन के लिए प्रयोग किया जाता है। सी ++ एक जीसी प्रदान नहीं करता है। आपको आरएआईआई (संसाधन अधिग्रहण प्रारंभिकरण) के साथ खुद को परिचित करने की आवश्यकता होगी और संसाधन रिसाव से बचने के लिए किस प्रकार के निर्माण और विनाश का काम किया जाए।

आपको मानक टेम्पलेट लाइब्रेरी (एसटीएल) पर ब्रश करने की भी आवश्यकता होगी। एसटीएल के पास जावा पुस्तकालयों की तुलना में बहुत अधिक निर्देशित दृष्टिकोण है- उदाहरण के लिए, std :: iostream क्लास फ़ाइल से फ्लोट्स, स्ट्रिंग इत्यादि निकालने के लिए मूल विधियां प्रदान करता है, जबकि जावा में आपको एक फ़ाइल और स्कैनर दोनों की आवश्यकता होती है, हालांकि यह दायरा बहुत सीमित है- कोई जीयूआई या निर्देशिका-आधारित घटक, केवल स्टार्टर्स के लिए नहीं।

ओह, वैसे, गंभीरता से, अपने सी ज्ञान को कुचलने के लिए। यह आपकी मदद करने के बजाय चोट लगी होगी।

+2

दोस्तों को आवश्यक रूप से encapsulation तोड़ना नहीं है। http://www.parashift.com/c++-faq-lite/friends.html#faq-14.2 –

+0

यह बात नहीं है। मुद्दा यह है कि जावा ने इसे हटा दिया क्योंकि यह encapsulation तोड़ सकता है। सी ++ नहीं था। – Puppy

+0

धन्यवाद कि उपयोगी ज्ञान का एक पूरा बंडल – Gwilym

1

पढ़ने लिंक है कि प्रदान की सिलिको में एक अच्छा एक को देखने के लिए है।

सलाह का मेरा सबसे बड़ा और सबसे सामान्य टुकड़ा Boost पुस्तकालयों से परिचित होना होगा और स्वयं को RAII (Resource Allocation is Initialization) परिचित करना होगा और इसके द्वारा जीना होगा!

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

+0

धन्यवाद मैंने एक ग्रहण के रूप में एक ग्रहण का उपयोग किया है जिसे मैंने एक ही आईडीई का उपयोग करके हर किसी पर जोर दिया था, यह ठीक था लेकिन मुझे नेटबीन के लिए उपयोग किया जाता था। लेकिन अगर मैं आईएल पर नहीं मिलता हूं तो ग्रहण करने के लिए एक आश्चर्य है^_^ – Gwilym

1

Deitel and Deitel जैसे कॉलेज पाठ्यपुस्तक शैली सी ++ पुस्तक प्राप्त करें। कठिन हिस्सा भाषा के सभी विवरणों को सीखना है जब आप एक पुन: प्रयोज्य लाइब्रेरी तैयार करते हैं, लेकिन यदि आप केवल मौजूदा हिस्सों को एक साथ जोड़ रहे हैं, तो यदि आप पहले से ही जावा को जानते हैं तो यह बहुत बुरा नहीं होना चाहिए। ऑब्जेक्ट के बीच सादे चर के रूप में घोषित ऑब्जेक्ट के बीच एक सूक्ष्म अंतर है, इसका सूचक, और इसके संदर्भ में आपको संसाधन प्रबंधन के साथ सीखने की आवश्यकता है। एक बार जब आप भाषा का लटका लेंगे, तो स्ट्रॉस्ट्रप और मेयर्स जैसे क्लासिक्स का उपयोग करके अंतराल भरें।

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

प्रोजेक्ट के लिए, आपको पहले सीयूआई के साथ रहना चाहिए क्योंकि जावा के विपरीत जीयूआई का कोई मानक कार्यान्वयन नहीं है, लेकिन आखिर में आप टेट्रिस या मैट्रिक्स गणित लाइब्रेरी जैसे कुछ कार्यान्वित करना चाहते हैं, जो अच्छी तरह से ओओ में फिट बैठता है। आप इसे क्रॉस प्लेटफॉर्म बनाना चाहते हैं तो wxWidgets और क्यूटी, पार मंच हैं, लेकिन आप जो कुछ भी मंच है कि आप में रुचि रखते हैं को लक्षित करना चाहिए

1

है इस किताब भी लिंक में नहीं है और मैं इसे का उपयोग करें:।

रॉबर्ट लाफ़र द्वारा सी ++ में ऑब्जेक्ट उन्मुख प्रोग्रामिंग, यह शून्य पृष्ठभूमि मानता है और यह बहुत आसान है।

आईडीई विजुअल स्टूडियो आमतौर पर मेरे जैसे शुरुआती लोगों के बीच उपयोग किया जाता है :)।

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

पूर्व बारे में सीखना होगा:

int i1 = 5 ; 
int i2 = 6 ; 
int i3 ; 
i3 = i1 + i2 ; //correct 

complex c1.setreal(3) ; //here you learn about member functions of the class 
complex c1.setimg(5) ; 
complex c2.setreal(6) ; 
complex c2.setimg(8) ; 
complex c3 ; 
c3 = c1 + c2 ;//wrong until you overload the operator + 
0

आईडीई के लिए कुछ सुझाव:

  • NetBeans (full version) - जीसीसी के साथ काम करता है (शामिल नहीं)। विंडोज़ पर, जीसीसी Cygwin और MingW के साथ उपलब्ध है। क्यूटी आधारित अनुप्रयोगों के निर्माण के लिए इस्तेमाल किया जा सकता है (नीचे क्यूटी देखें)। विंडोज, लिनक्स और सोलारिस (शायद अन्य) के लिए उपलब्ध है।
  • Qt Creator - क्यूटी फ्रेमवर्क शामिल है जो कई प्लेटफार्मों में जीयूआई अनुप्रयोगों की पोर्टेबिलिटी की इजाजत देता है। जीसीसी या एमएसवीसी (केवल विंडोज़) के साथ इस्तेमाल किया जा सकता है। 32-बिट विंडोज़ के लिए उपलब्ध (64 बिट विंडोज़ के लिए कुछ कठिनाई के साथ संकलित किया जा सकता है), 32 या 64 बिट लिनक्स और मैक ओएस एक्स
  • MS Visual C++ 2010 Express - नि: शुल्क डाउनलोड जिसका उपयोग 32 या 64 बिट विंडोज अनुप्रयोगों के निर्माण के लिए किया जा सकता है। मानक सी ++ अनुप्रयोगों के निर्माण के लिए इस्तेमाल किया जा सकता है। यह प्रबंधित सी ++ के निर्माण की भी अनुमति देता है, लेकिन यदि आप ऐसा करने जा रहे हैं, तो आप शायद इसके बजाय सी # के साथ जाने से बेहतर हो सकते हैं। क्रॉस-प्लेटफार्म जीयूआई क्यूटी फ्रेमवर्क के साथ बनाया जा सकता है।
  • Eclipse CDT - मैंने इसका उपयोग नहीं किया है, लेकिन मैंने इसके बारे में अच्छी बातें सुनी हैं, और कम से कम इसका उल्लेख नहीं करना होगा। मुझे पता है कि यह 32-बिट विंडोज ऐप्स बनाएगा (यकीन नहीं 64 बिट वाले) और लिनक्स के लिए संस्करण हैं (32 और 64 बीटी दोनों)।
+3

क्या, कोई वी/Emacs? :) – greyfade

+0

सी ++ प्लगइन स्थापित किया और जीसीसी के साथ इसे खुश कर दिया, यह वहां से – Gwilym

+0

@ ग्रेफेड: अच्छा है! – andand

4

अच्छा ट्यूटोरियल?

कोई ट्यूटोरियल अनुशंसाएं नहीं, क्योंकि ट्यूटोरियल अधिकतर जटिल भाषा सुविधाओं को स्पर्श नहीं करेगा। एक किताब प्राप्त करें

परियोजनाओं, किसी भी परियोजना एसटीएल/खाके का उपयोग करता है/क्यूटी

साथ क्यूटी 4 जानने के लिए एक बार आप भाषा से परिचित हैं। बूस्ट स्रोत कोड से सीखने लायक हो सकता है।

सी ++ के बारे में कोई Bjarne Stroustrup की किताब पढ़ने की सिफारिश की।भारी पढ़ना, लेकिन संदर्भ के रूप में अच्छा, डिजाइन पैटर्न पर एक पुस्तक भी सहायक हो सकती है।

क्या आईडीई? मैं वर्तमान में NetBeans

विंडोज़ पर विजुअल स्टूडियो एक्सप्रेस, लिनक्स पर जेडिट/केट/एमसीएसआईटी/वीआईएम/एमएक्स का उपयोग करता हूं।

सामान्य सी ++ सलाह

जानें कि कैसे बाहरी निर्माण प्रणाली का उपयोग (cmake/SCons/gnu देते हैं) तो कैसे आईडीई के बिना काम करने के लिए, कैसे कमांड लाइन से, काम करने के लिए और गैर से बचने की कोशिश करने के लिए मानक संकलक-विशिष्ट विशेषताओं।

0

पढ़ने स्कॉट Meyers द्वारा

प्रभावी सी ++ की सिफारिश की।

संबंधित मुद्दे