C++ là một ngôn ngữ lập trình kiểu tĩnh,dữ liệu trừ tượng, phân biệt kiểu chữ thường chữ hoa mà hỗ trợ lập trình hướng đối tượng, lập trình thủ tục.
C++ được coi như là ngôn ngữ bậc trung (middle-level), khi nó kết hợp các đặc điểm và tính năng của ngôn ngữ bậc cao và bậc thấp.
C++ được phát triển bởi Bjarne Stroustrup năm 1979 tại Bell Labs ở Murray Hill, New Jersey, như là một bản nâng cao của ngôn ngữ C và với tên gọi đầu tiên là “C với các Lớp”, nhưng sau đó được đổi tên thành C++ vào năm 1983.
C++ là một Superset của C, và bất kỳ chương trình C nào cũng là một chương trình C++.
Ghi chú: Khi nói một ngôn ngữ lập trình là kiểu tĩnh khi việc kiểm tra kiểu được thực hiện trong thời gian biên dịch (compile-time), chứ không phải là run-time.
Lập trình hướng đối tượng
C++ hỗ trợ đầy đủ lập trình hướng đối tượng, bao gồm 4 tính năng trụ cột của lập trình hướng đối tượng là:
- Tính bao đóng (Encapsulation)
- Ẩn dữ liệu (Data hiding)
- Tính kế thừa (Inheritance)
- Tính đa hình (Polymorphism)
Thư việc chuẩn C++ (C++ Standard Library)
C++ chuẩn gồm 3 phần quan trọng:
- Core Language cung cấp tất cả các khối bao gồm biến, kiểu dữ liệu (data type) và literals, …
- Thư viện chuẩn C++ (C++ Standard Library) cung cấp tập hợp hàm đa dạng để thao tác file, string, …
- Standard Template Library (STL) cung cấp tập hợp phương thức đa dạng để thao tác cấu trúc dữ liệu, …
ANSI Standard
ANSI Standard bảo đảm rằng C++ là portable, nghĩa là: code bạn viết cho compiler của Microsoft sẽ được biên dịch mà không xảy ra lỗi khi sử dụng một compiler trên Mac, UNIX, và Windows box hoặc một Alpha.
ANSI Standard đã tồn tại trong thời gian dài, và tất cả C++ compiler đều hỗ trợ ANSI Standard.
Học tập C++ như thế nào?
Điều quan trọng nhất khi học tập C++ là trọng tâm vào các khái niệm.
Mục đích của việc học một ngôn ngữ lập trình là trở thành một lập trình viên giỏi hơn, tức là để thiết kế và thực thi các hệ thống mới hiệu quả hơn, hoặc sửa đổi chương trình cũ.
C++ hỗ trợ các phong cách lập trình đa dạng. Bạn có thể viết trong Fortran, C, Smalltalk, … trong bất kỳ ngôn ngữ nào. Mỗi style có thể đạt được mục tiêu của nó một cách hiệu quả trong khi duy trì runtime và space hiệu quả.
Miền sử dụng của C++
C++ được sử dụng bởi hàng nghìn lập trình viên trong mỗi lĩnh vực ứng dụng cơ bản.
C++ đang được sử dụng phổ biến để viết device driver và các phần mềm khác mà dựa vào thao tác trực tiếp của phần cứng dưới ràng buộc về realtime.
C++ được sử dụng rộng rãi để đào tạo, nghiên cứu.
Bất cứ hai đã sử dụng Apple Macintosh hoặc một PC chạy trên Windows đã là gián tiếp sử dụng C++, bởi vì User Interface của các hệ thống này được viết bằng C++.