Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C++

Khác biệt giữa C# và C++

Tìm hiểu về C# và C++ trước khi so sánh.

C#

  • Ngôn ngữ lập trình đa năng, hướng đối tượng
  • Được coi là OOP thuần túy
  • Đọc là "C sharp"
  • Phát triển bởi Anders Hejlsberg và team tại Microsoft
  • Quản lý bộ nhớ tự động bởi Garbage Collector
  • Tự động xóa object khi hoàn thành nhiệm vụ
  • Chỉ chạy trên Windows (platform dependent)
  • Không hỗ trợ đa kế thừa (multiple inheritance)
  • Con trỏ chỉ dùng trong unsafe mode
  • Ngôn ngữ high-level
  • Biên dịch thành Intermediate Language (IL)
  • Phát triển console, mobile, Windows apps
  • Dễ hiểu, hệ thống class rõ ràng
  • Kiểm tra giới hạn mảng (bound checking) bởi compiler
  • Truy cập index không hợp lệ → compile error

C++

  • Ngôn ngữ kiểu tĩnh, đa paradigm
  • Cũng là OOP nhưng không thuần túy (có kiểu dữ liệu nguyên thủy)
  • Biên dịch trực tiếp thành machine code (low-level)
  • Ban đầu gọi là "C with Classes", sau đổi thành C++
  • Đọc là "C plus plus"
  • Phát triển bởi Bjarne Stroustrup tại AT&T Bell Labs
  • Quản lý bộ nhớ thủ công (new/delete)
  • Chạy đa nền tảng (platform independent)
  • Dùng khi cần tương tác trực tiếp phần cứng
  • Hỗ trợ đa kế thừa qua class
  • Con trỏ dùng tự do khắp chương trình
  • Thường dùng cho console apps
  • Không bound checking → truy cập index sai cho output sai, không báo lỗi compile

Bảng so sánh

C#C++
OOP đa năngKiểu tĩnh, đa paradigm
OOP thuần túyKhông thuần túy (có primitive types)
GC tự động quản lý bộ nhớQuản lý bộ nhớ thủ công
Không đa kế thừaHỗ trợ đa kế thừa
Con trỏ chỉ unsafe modeCon trỏ dùng tự do
Console, mobile, Windows appsChủ yếu console apps
Bound checking bởi compilerKhông bound checking