C++ là gì? Tổng quan kỹ thuật, chức năng dẫn nhập và thư viện C++

Thứ ba - 12/05/2020 00:53
C++ CƠ BẢN | CppDeveloperC++ là gì? Tổng quan về kỹ thuật bao gồm chức năng dẫn nhập và thư viện của C++ như thế nào? Hãy cùng tìm hiểu qua bài viết này nhé!

ISO C++ Logo.svgC++ (đọc là "C cộng cộng" hay "xi-plus-plus", IPA: /siː pləs pləs/) 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 như một phần mở rộng của ngôn ngữ lập trình C, hoặc "C với các lớp Class", Ngôn ngữ đã được mở rộng đáng kể theo thời gian và C ++ hiện đại có các tính năng: lập trình tổng quát, lập trình hướng đối tượng, lập trình thủ tục, ngôn ngữ đa mẫu hình tự do có kiểu tĩnh, dữ liệu trừu tượng, và lập trình đa hình, ngoài ra còn có thêm các tính năng, công cụ để thao tác với bộ nhớ cấp thấp. 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++ được thiết kế hướng tới lập trình hệ thống và phần mềm nhúng, bao gồm cả hệ thống có tài nguyên hạn chế và tài nguyên khổng lồ, với ưu điểm là hiệu suất, hiệu quả và tính linh hoạt cao.[6] C ++ có thể tìm thấy ở mọi nơi, với những điểm mạnh là cơ sở hạ tầng phần mềm và các ứng dụng bị hạn chế tài nguyên. bao gồm: phần mềm ứng dụng máy tính cá nhân, các hệ thống máy chủ (ví dụ: thương mại điện tử, cỗ máy tìm kiếm trên web hoặc máy chủ SQL) và các ứng dụng ưu tiên về hiệu suất (ví dụ: tổng đài thông tin liên lạc hoặc thiết bị thăm dò không gian).[7] C++ hầu hết được thực thi dưới dạng là một ngôn ngữ biên dịch, có thể chạy trên nhiều nền tảng khác nhau như Windows, Mac OS, và các phiên bản Unix đa dạng. Nhiều nhà cung cấp cung cấp các trình biên dịch C ++, bao gồm Tổ chức Phần mềm Tự do, Microsoft, Intel và IBM.

C ++ được Tổ chức Tiêu chuẩn hóa Quốc tế (ISO) chuẩn hóa, với phiên bản tiêu chuẩn mới nhất được ISO phê chuẩn và công bố vào tháng 12 năm 2017 là ISO / IEC 14882: 2017 (được gọi một cách không chính thức là C ++ 17).[8] Ngôn ngữ lập trình C ++ ban đầu được chuẩn hóa vào năm 1998 là ISO / IEC 14882: 1998, sau đó được sửa đổi theo tiêu chuẩn C ++ 03, C ++ 11 và C ++ 14. Tiêu chuẩn C ++ 17 hiện tại thay thế các tính năng mới này và một thư viện tiêu chuẩn mở rộng. Trước khi tiêu chuẩn hóa ban đầu vào năm 1998, C ++ được phát triển bởi Bjarne Stroustrup tại Bell Labs từ năm 1979, như một phần mở rộng của ngôn ngữ C khi ông muốn một ngôn ngữ hiệu quả và linh hoạt tương tự như C, cũng cung cấp các tính năng cấp cao cho tổ chức chương trình.[9] C ++ 20 là tiêu chuẩn được lên kế hoạch tiếp theo sau đó, phù hợp với chuỗi hiện tại của một phiên bản mới cứ sau ba năm[10].

Nhiều ngôn ngữ lập trình khác được phát triển dựa trên nền tảng C ++, bao gồm C #, D, Java và các phiên bản mới hơn của C.

Tổng quan về kỹ thuật

Bjarne Stroustrup, Cha đẻ của C++
Năm Tiêu chuẩn C++ Tên gọi
1998 ISO/IEC 14882:1998[11] C++98
2003 ISO/IEC 14882:2003[12] C++03
2011 ISO/IEC 14882:2011[13] C++11, C++0x
2014 ISO/IEC 14882:2014[14] C++14, C++1y
2017 ISO/IEC 14882:2017[8] C++17, C++1z
2020 Đang lên kế hoạch C++20[15]

Trong tiêu chuẩn 1998 của C++ có hai phần chính: phần ngôn ngữ cốt lõi và phần Thư viện chuẩn C++(STL - Standard Template Library). Phần thư viện này lại bao gồm hầu hết thư viện tiêu bản chuẩn và phiên bản có điều chỉnh chút ít của thư viện chuẩn C. Nhiều thư viện C++ hiện hữu không thuộc về tiêu chuẩn như là thư viện Boost. Thêm vào đó, nhiều thư viện không theo tiêu chuẩn được viết trong C một cách tổng quát đều có thể sử dụng trong các chương trình C++.

Chức năng dẫn nhập trong C++

So với C, C++ tăng cường thêm nhiều tính năng, bao gồm: khai báo như mệnh đề, chuyển kiểu giống như hàm, new/delete, bool, các kiểu tham chiếu, const, các hàm nội tuyến (inline), các đối số mặc định, nạp chồng hàm, không gian tên (namespace), các lớp (bao gồm tất cả các chức năng liên quan tới lớp như kế thừa, hàm thành viên (phương pháp), hàm ảo, lớp trừu tượng, và cấu tử), nạp chồng toán tử, tiêu bản, toán tử phạm vi ::, xử lý ngoại lệ, và sự nhận dạng kiểu trong thời gian thi hành.

C++ còn tiến hành nhiều phép kiểm tra kiểu hơn C trong nhiều trường hợp.

Câu lệnh chú giải bắt đầu với // nguyên là một phần của BCPL được tái sử dụng trong C++.

Một số thành phần của C++ sau này đã được thêm vào C, bao gồm const, inline, khai báo biến trong vòng lặp for và chú giải kiểu C++ (sử dụng ký hiệu //). Tuy nhiên, C99 cũng bổ sung thêm một số tính năng không có trong C++, ví dụ như macro với số đối số động.

Vì được phát triển từ C, trong C++, thuật ngữ đối tượng có nghĩa là vùng nhớ như được dùng trong C, chứ không phải là một phiên bản của lớp như được hiểu trong phần lớn ngôn ngữ lập trình hướng đối tượng khác. Ví dụ như:

 int i;

Dòng trên sẽ định nghĩa một đối tượng kiểu int (số nguyên), tức là một vùng nhớ sẽ được sử dụng để lưu giữ biến i.

Thư viện C++

Thư viện chuẩn C++ dùng lại thư viện chuẩn C với một số điều chỉnh nhỏ để giúp nó hoạt động tốt hơn với ngôn ngữ C++. Một bộ phận lớn khác của thư viện C++ dựa trên Thư viện tiêu bản chuẩn (hay còn gọi là STL - viết tắt từ chữ Standard Template Library). Thư viện này có nhiều công cụ hữu dụng như là các thùng chứa (ví dụ như vector, danh sách liên kết  biến lặp (tổng quát hóa từ khái niệm con trỏ) để cung cấp những thùng chứa này sự truy cập giống như là truy cập mãng. Xa hơn nữa, bảng (đa) ánh xạ (mảng kết hợp) và (đa) tập, tất cả được cung cấp để có thể xuất ra các giao diện tương thích. Do đó, có thể dùng tiêu bản để viết các thuật toán tổng quát mà chúng làm việc được với bất kì thùng chứa nào hay với bất kì dãy nào được định nghĩa bởi biến lặp. Giống như C, các tính năng của thư viện này thì được truy cập bởi việc sử dụng lệnh dẫn hướng #include để bao gồm một tập tin tiêu đề chuẩn. C++ cung ứng 69 tiêu đề chuẩn, trong đó có 19 tiêu đề không còn hiệu lực nữa.

Vì thư viện chuẩn được thiết kế bởi những chuyện gia hàng đầu và đã được chứng minh trong toàn bộ lịch sử kĩ nghệ, các thành phần của thư viện này được khuyến cáo sử dụng thay vì dùng những phần viết tay bên ngoài hay những phương tiện cấp thấp khác. Ví dụ, dùng std:vector hay std::string thay vì dùng kiểu mảng đơn thuần sẽ không những là cho "đời sống dễ thở hơn", mà còn là một cách hữu hiệu để viết phần mềm được an toàn và linh hoạt hơn.

STL nguyên là một thư viện của hãng HP và sau đó là của SGI, trước khi nó được nhận vào thành chuẩn C++. Tiêu chuẩn thì không tham chiếu nó bằng cái tên "STL", khi đa phần nó chỉ là bộ phận tiêu chuẩn. Tuy vậy, nhiều người vẩn dùng khái niệm "STL" này để phân biệt nó với phần còn lại của thư viện C++ như là IOstream, quốc tế hóa (ký tự và ngôn ngữ trình bày), chẩn đoán, thư viện C, v.v..

Một đề án mang tên STLPort, dựa cơ sở trên SGI STL, bảo trì các thiết lập mới của STL, IOStream  string. Các đề án khác cũng có những xây dựng đặc thù riêng của thư viện chuẩn với các mục tiêu thiết kế khác nhau. Mỗi nơi sản xuất hay phổ biến nhà trình dịch C++ đều bao gồm một sự thiết lập của thư viện, vì đây là phần quan trọng của tiêu chuẩn và lại là kỳ vọng của người lập trình.

Nguồn: Wikipedia

Tổng số điểm của bài viết là: 10 trong 2 đánh giá

Xếp hạng: 5 - 2 phiếu bầu
Click để đánh giá bài viết

  Ý kiến bạn đọc

Mã bảo mật   
Đăng nhập
Hãy đăng nhập thành viên để trải nghiệm đầy đủ các tiện ích trên site
Thăm dò ý kiến

Bạn là sinh viên hệ nào?

Bạn đã không sử dụng Site, Bấm vào đây để duy trì trạng thái đăng nhập. Thời gian chờ: 60 giây