ประมาณหนึ่งปีที่แล้วฉันอยู่ในเรือลำเดียวกันกับคุณ: สอนตัวเองด้วย c # dev ใครรู้สึกว่าจำเป็นต้องเรียนรู้ C ++ ได้รับฉันหยุดและเริ่มหลายครั้ง ในความพยายามครั้งที่สามของฉันในที่สุดฉันก็ผ่านมันไป
สิ่งที่จำเป็นในการทำความเข้าใจคือในแง่ของวิธีการ C + + และ C # คุณอาจต้องใช้เวลามากในการทำความเข้าใจว่าวิธีการจัดการข้อมูลผ่านพอยน์เตอร์และการอ้างอิงนั้นหมายถึงอะไรจริง ๆ
สิ่งที่ดีเกี่ยวกับ C ++ คือการจัดสรรอ็อบเจ็กต์สแต็กค่อนข้างง่ายส่วนใหญ่และคุณควรจัดสรรวัตถุด้วยวิธีนี้หากโปรแกรมของคุณจะตรงตามข้อกำหนดที่ระบุไว้ภายใต้วิธีการนี้ มิฉะนั้นคุณต้องพึ่งพาพอยน์เตอร์สำหรับความเร็วประสิทธิภาพและทำความสะอาดอย่างรวดเร็ว ฉันขอแนะนำให้อ่านสิ่งนี้: http://www.parashift.com/c++-faq-lite/เนื่องจากจะทำให้คุณมีความเข้าใจด้านเทคนิคจำนวนมากว่า C ++ ทำงานอย่างไรภายใต้ประทุน
ผมขอยกตัวอย่าง:
ใน C ++ มีการใช้ Constructor นี้ที่รู้จักกันในชื่อ "initialization list" ซึ่งแตกต่างจากการเริ่มต้นสมาชิกคลาสในเนื้อความของ Constructor ทำไม? เพราะหากประเภทที่เริ่มต้นนั้นเป็นแบบดั้งเดิมคอมไพเลอร์จะสร้างสำเนาจำนวนมากและสำเนาที่ไม่จำเป็นของวัตถุที่สร้างเมื่อจัดสรรในร่างกายของ ctor วิธีนี้อาจลดประสิทธิภาพได้ขึ้นอยู่กับคอมไพเลอร์เช่นเดียวกับข้อกำหนดที่ปรับขนาดของแอป
รู้ว่าตัวแทนคืออะไร? ดีใน C ++ มันเป็นที่รู้จักกันเป็นตัวชี้ฟังก์ชัน ภาษานี้ค่อนข้างยากที่จะเชี่ยวชาญในตอนแรก แต่ถ้าคุณต้องการที่จะยอดเยี่ยม ... มันต้องมีแน่นอน
C # นั้นง่าย ... ง่ายมาก