You are on page 1of 4

Mục lục

Tìm hiều về C++.................................................................................................................................................2


Chương 1: Giới thiệu về C++..............................................................................................................................2
1. Tổng quan về C++..................................................................................................................................2
2. Một số đặc trưng của C++.....................................................................................................................2
3. Ưu điểm và nhược điểm........................................................................................................................2
4. Ứng dụng của C++.................................................................................................................................2

Chương 1: Giới thiệu về C++


1. Tổng quan về C++
C++ là một loại ngôn ngữ lập trình bậc trung  (middle-level). Đây là ngôn ngữ lập trình đa năng
được tạo ra bởi Bjarne Stroustrup.

Từ thập niên 1990, C++ đã trở thành một trong những ngôn ngữ thương mại ưa thích và phổ biến
của lập trình viên.
C++ là ngôn ngữ "đa hướng". Nghĩa là nó hướng cấu trúc giống C và có thêm một tính năng cực
kỳ quan trọng đó là tính năng hướng đối tượng. Các bạn sẽ được học phần hướng đối tượng của C+
+ trong serial Lập trình hướng đối tượng C++.

C++ là một trong những ngôn ngữ lập trình phổ biết trên thế giới.Những bản cập nhật gần đây nhất
là C++ 14 và C++ 17, và sắp tới là C++ 20 (đang trong quá trình phát triển), đã và đang mang đến
những tính năng hỗ trợ rất lớn cho lập trình viên C++.

2. Một số đặc trưng của C++


 Ngôn ngữ lập trinh bậc trung : Các bạn có thể sử dụng C/C++ để phát triển những chương
trình bậc cao, và kể cả những chương trình bậc thấp hoạt động tốt trên hầu hết phần cứng.
 Đơn giản và hiệu quả: Cú pháp của C/C++ rất dễ hiểu và khá giống Tiếng Anh. Ta thậm chí
có thể dùng C/C++ để thiết kế những ứng dụng dù trước đó đã được viết bằng hợp
ngữ ( Assembly language).
 Hỗ trợ đa nền tảng: C/C++ được hỗ trợ trên bất kỳ các nền tảng, hệ điều hành nào. Ta có
thể viết một chương trình C/C++ trên Linux, biên dịch nó trên Windows và chạy trên Mac
OS.
 Lập trình hướng đối tượng ( Object-oriented programming): Lí do cho sự phổ biến của
C++ chính là nó hỗ trợ vô cùng hiệu quả việc lập trình hướng đối tượng, bao gồm việc trường
tựu hóa dữ liệu (data abstraction), đóng gói dữ liệu (data encapsulation ), kế thừa
( inheritance ) và đa hình ( polymorphism ). Những khái niệm này khá phức tạp, nên nếu bạn
chưa hiểu về chúng, đừng lo lắng, chúng ta sẽ lần lượt làm rõ từng khái niệm trong chuỗi bài
về Lập trình hướng đối tượng.
 Con trỏ: Ngôn ngữ C/C++ cung cấp cho chúng ta một công cụ vô cùng tiện lợi là con trỏ
(pointer), một con trỏ có nhiệm vụ lưu địa chỉ bộ nhớ làm giá trị của nó, đồng thời lưu trữ và
truy cập dữ liệu từ bộ nhớ . Khái niệm về con trỏ khá quan trọng và nó sẽ liên quan rất nhiều
đến các môn học khác, nên chúng ta sẽ có một bài viết đầy đủ hơn ở các bài học sau.

3. Ưu điểm và nhược điểm


Ưu điểm

 C++ là một ngôn ngữ lập trình hướng đối tượng


 Đây là một trong những lý do developer có thể dùng C++ để học lập trình hướng đối tượng
mặc dù không được khuyến khích cho lắm. Nhưng hướng đối tượng là một tính chất mà một
ngôn ngữ lập trình hiện đại nên có và thật may mắn C++ cung cấp đầy đủ những tính chất của
hướng đối tượng như tính đóng gói, tính đa hình, tính trừu tượng và tính kế thừa.
 C++ cho phép thoải mái quản lý vùng nhớ
 Thật vậy, trong C++ chúng ta không có Garbage Collectors để dọn dẹp vùng nhớ như một số
ngôn ngữ bậc cao khác. Một vùng nhớ có thể sử dụng lại nhiều lần, điều này giúp cải thiện
hiệu suất chương trình C++. Vì thế những chương trình đòi hỏi chạy được trên một tài nguyên
hạn chế thì đều ưu tiên viết bằng C++.
 C++ là một ngôn ngữ low-level dễ dàng giao tiếp với phần cứng
 Một chương trình phần mềm dùng để giao tiếp với phần cứng hay một Embedded System đều
được ưu tiên dùng C++. 
 C++ có một hiệu suất cao cùng khả năng tiêu tốn ít tài nguyên phần cứng khiến chương trình
chạy nhanh hơn. Cũng vì hiệu suất cao nên C++ cũng được dùng để phát triển game. Nói
chung, một chương trình đòi hỏi hiệu suất cao thì phần core lúc nào cũng sẽ được ưu tiên viết
bằng C++.

Nhược điểm

 Tràn vùng nhớ


 Như đã đề cập ở trên C++ cho phép bạn tự quản lý vùng nhớ, giúp cho việc tái sử dụng vùng
nhớ một cách hiệu quả nhưng nếu quản lý không tốt việc tràn vùng nhớ sẽ xảy ra. 
 OOP trong C++ khá phức tạp và khó hiểu
 Trong C++ chúng ta không có khái niệm Interface. Chúng ta có thêm khái niệm hàm thuần ảo,
hàm bạn, lớp bạn, hàm hủy (destructor), đa kế thừa,… Do vậy, OOP trong C++ khá phức tạp
và khó hiểu. Trong C++ chúng ta phải khai báo phạm vi truy cập của class, phương thức, biến
trong file header(file .h) và implement chúng trong file .cpp. Nếu đã quen với OOP trong Java
như thì khi chuyển qua C++ sẽ khá bỡ ngỡ vì có một số khái niệm mới.
 Con trỏ là một cái gì đó rất… khó
 Con trỏ là một biến mang địa chỉ của một vùng nhớ mà biến đó trỏ tới. Lập trình viên ban đầu
tiếp cận với C++ thì khi học tới con trỏ rất dễ nản vì với những ngôn ngữ bậc cao khác chúng
đã lược bỏ khái niệm này để làm ngôn ngữ thân thiện và dễ hiểu hơn. Nhưng con trỏ sinh ra để
giúp cho việc thao tác trực tiếp với vùng nhớ, tăng tốc độ thực thi của chương trình nên đôi
khi khó học thì cũng đi đôi với lợi ích đó.
4. Ứng dụng của C++
Chúng ta cùng xem C++ có thể làm được gì nhé J

 Games: C++ được dùng để tạo ra rất nhiều game nổi tiếng trên thế giới như World of
Warcraft, Diablo series, StarCraft series, Doom 3, Team Fortress 2… Và tất nhiên cũng có
rất nhiều engine game sử dụng C++ để phát triển như Unreal Engine, Coscos2dx
framework…

 Đồ họa: C++ được dùng để tạo ra các phần mềm đồ họa đình đám như Image Ready,
Adobe Premiere, Photoshop, Illustrator, … Xử lý tính toán đồ họa 3D trong Maya 3D

 Database: Mysql được viết bởi C và C++

 Operating systems: C++ là một phần không thể thiếu của rất nhiều hệ điều hành phổ biến
hiện nay như Mac OS, Microsoft Window…

 Và rất nhiều sản phẩm khác như: web browsers, enterprise software, medical and
engineering applications, compilers…

Mặc dù C++ đã trên tồn tại trên 35 năm, và hiện nay đã có rất nhiều ngôn ngữ lập trình khác, nhưng
C++ chưa bao giờ là lỗi thời.

You might also like