Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C#

คุณสมบัติของ C++ ที่ไม่มีใน C#

คุณสมบัติของ C++ ที่ขาดหายไปใน C#

C# และ C++ แตกต่างกันในหลายด้าน ด้านล่างคือคุณสมบัติสำคัญของ C++ ที่ C# ไม่มี (หรือทำงานต่างไป)

คุณสมบัติC++C#
Multiple Inheritanceรองรับโดยตรง (หลาย Base Class)ไม่รองรับ (ใช้ Interface แทน)
Manual Memory Managementจัดการหน่วยความจำเอง (new/delete)Garbage Collector จัดการอัตโนมัติ
Standalone Applicationsคอมไพล์เป็น Native Executable ได้โดยตรงต้องมี .NET Runtime (CLR) ติดตั้ง
Switch on Stringไม่รองรับโดยตรง (ใช้ string compare)รองรับ Switch บน String ตั้งแต่ C# 7.0+
Cross-platform Nativeรันบน Windows, Mac, Linux, UNIX ได้ทุกแพลตฟอร์มเดิมแค่ Windows แต่ตอนนี้ .NET Core/5+ รัน Cross-platform ได้แล้ว
Pointers & Unsafe Codeใช้ Pointer ได้อิสระรองรับเฉพาะใน unsafe context เท่านั้น
Deterministic DestructionDestructor เรียกทันทีเมื่อ Out of scopeNon-deterministic (ขึ้นอยู่กับ GC) ใช้ IDisposable แทน
TemplatesTemplates (Compile-time polymorphism)Generics (Runtime type substitution)

สรุป

  • C# เน้นความปลอดภัย ความง่าย และ Productivity
  • C++ เน้น Control ใกล้ Hardware และ Performance ความยืดหยุ่นสูงสุด
  • ปัจจุบัน .NET 6+ รองรับ Cross-platform จริง ทำให้ช่องว่างลดลงมาก