“C++ được đánh giá là ngôn ngữ mạnh vì tính mềm dẻo, gần gũi với ngôn ngữ máy. Ngoài ra, với khả nănglập trình theo mẫu ( template ), C++ đã khiến ngôn ngữ lập trình trở thành khái quát, không cụ thể và chi tiết như nhiều ngôn ngữ khác. Sức mạnh của C++ đến từ STL, viết tắt của Standard Template Library -một thư viện template cho C++ với những cấu trúc dữ liệu cũng như giải thuật được xây dựng tổng quát mà vẫn tận dụng được hiệu năng và tốc độ của C. Với khái niệm template, những người lập trình đã đề ra khái niệm lập trình khái lược (generic programming), C++ được cung cấp kèm với bộ thư viện chuẩn STL. Bộ thư viện này thực hiện toàn bộ các công việc vào ra dữ liệu (iostream), quản lý mảng (vector), thực hiện hầu hết các tính năng của các cấu trúc dữ liệu cơ bản (stack, queue, map, set...). Ngoài ra, STL còn bao gồm các thuật toán cơ bản: tìm min, max, tính tổng, sắp xếp (với nhiều thuật toán khác nhau), thay thế các phần tử, tìm kiếm (tìm kiếm thường và tìm kiếm nhị phân), trộn. Toàn bộ các tính năng nêu trên đều được cung cấp dưới dạng template nên việc lập trình luôn thể hiện tính khái quát hóa cao. Nhờ vậy, STL làm cho ngôn ngữ C++ trở nên trong sáng hơn nhiều.”
- Thư viện mẫu chuẩn STL trong C++ chia làm 4 thành phần là:
+ Containers Library : chứa các cấu trúc dữ liệu mẫu (template)
+ Sequence containers
+ Vector
+ Deque
+ List
+ Containers adpators
+ Stack
+ Queue
+ Priority_queue
+ Associative containers
+ Set
+ Multiset
+ Map
+ Multimap
+ Bitset
+ Algorithms Library: một số thuật toán để thao tác trên dữ liệu
+ Iterator Library: giống như con trỏ, dùng để truy cập đến các phần tử dữ liệu
của container.
+ Numeric library:
- Để sử dụng STL, bạn cần khai báo từ khóa “using namespace std;” sau các khai báo
thư viện (các “#include”, hay “#define”,...)
- Ví dụ:
#include <iostream>
#include <stack> //khai báo sử dụng container stack
#define n 100
using namespace std; //khai báo sử dụng STL
main() {
.... }
- Việc sử dụng các hàm trong STL tương tự như việc sử dụng các hàm như trong class.
ITERATOR (BIẾN LẶP):
- Trong C++, một biến lặp là một đối tượng bất kì, trỏ tới một số phần tử trong 1 phạm vi của các phần tử (như mảng hoặc container), có khả năng để lặp các phần tử trong phạm vi bằng cách sử dụng một tập các toán tử (operators) (như so sánh, tăng (++), ...)
- Dạng rõ ràng nhất của iterator là một con trỏ: Một con trỏ có thể trỏ tới các phần tử trong mảng, và có thể lặp thông qua sử dụng toán tử tăng (++). Tuy nhiên, cũng có các dạng khác của iterator. Ví dụ: mỗi loại container (chẳng hạn như vector) có một loại iterator được thiết kế để lặp các phần tử của nó một cách hiệu quả.
- Iterator có các toán tử như:
+ So sánh: “==” , “!=” giữa 2 iterator.
+ Gán: “=” giữa 2 iterator.
+ Cộng trừ: “+”,”-“ với hằng số và ”++”,”—“.
+ Lấy giá trị: “*”.
Xem tiếp: part 2
+ Containers Library : chứa các cấu trúc dữ liệu mẫu (template)
+ Sequence containers
+ Vector
+ Deque
+ List
+ Containers adpators
+ Stack
+ Queue
+ Priority_queue
+ Associative containers
+ Set
+ Multiset
+ Map
+ Multimap
+ Bitset
+ Algorithms Library: một số thuật toán để thao tác trên dữ liệu
+ Iterator Library: giống như con trỏ, dùng để truy cập đến các phần tử dữ liệu
của container.
+ Numeric library:
- Để sử dụng STL, bạn cần khai báo từ khóa “using namespace std;” sau các khai báo
thư viện (các “#include”, hay “#define”,...)
- Ví dụ:
#include <iostream>
#include <stack> //khai báo sử dụng container stack
#define n 100
using namespace std; //khai báo sử dụng STL
main() {
.... }
- Việc sử dụng các hàm trong STL tương tự như việc sử dụng các hàm như trong class.
ITERATOR (BIẾN LẶP):
- Trong C++, một biến lặp là một đối tượng bất kì, trỏ tới một số phần tử trong 1 phạm vi của các phần tử (như mảng hoặc container), có khả năng để lặp các phần tử trong phạm vi bằng cách sử dụng một tập các toán tử (operators) (như so sánh, tăng (++), ...)
- Dạng rõ ràng nhất của iterator là một con trỏ: Một con trỏ có thể trỏ tới các phần tử trong mảng, và có thể lặp thông qua sử dụng toán tử tăng (++). Tuy nhiên, cũng có các dạng khác của iterator. Ví dụ: mỗi loại container (chẳng hạn như vector) có một loại iterator được thiết kế để lặp các phần tử của nó một cách hiệu quả.
- Iterator có các toán tử như:
+ So sánh: “==” , “!=” giữa 2 iterator.
+ Gán: “=” giữa 2 iterator.
+ Cộng trừ: “+”,”-“ với hằng số và ”++”,”—“.
+ Lấy giá trị: “*”.
Xem tiếp: part 2
Không có nhận xét nào:
Đăng nhận xét