Computer >> Máy Tính >  >> Lập trình >> C ++

Sự khác biệt giữa Thư viện tiêu chuẩn STL và C ++ là gì?


Thư viện Mẫu Chuẩn (STL) là một thư viện phần mềm cho ngôn ngữ lập trình C ++ có ảnh hưởng đến nhiều phần của Thư viện Chuẩn C ++. Nó cung cấp bốn thành phần được gọi là thuật toán, vùng chứa, hàm và trình vòng lặp. Lưu ý rằng thuật ngữ "STL" hoặc "Thư viện mẫu chuẩn" không hiển thị ở bất kỳ đâu trong tiêu chuẩn C ++ ISO 14882. Vì vậy, đề cập đến thư viện tiêu chuẩn C ++ là STL là sai, tức là, Thư viện tiêu chuẩn STL và C ++ là 2 thứ khác nhau với cái trước là tập hợp con của cái sau.

STL bao gồm

Vùng chứa

STL chứa các vùng chứa trình tự và vùng chứa kết hợp. Container là đối tượng lưu trữ dữ liệu. Các vùng chứa trình tự tiêu chuẩn bao gồm vectơ, deque và danh sách. Các vùng chứa kết hợp tiêu chuẩn được đặt, multiset, map, multimap, hash_set, hash_map, hash_multiset và hash_multimap. Ngoài ra còn có hàng đợi bộ điều hợp vùng chứa, priority_queue và ngăn xếp, là các vùng chứa có giao diện cụ thể, sử dụng các vùng chứa khác làm triển khai.

Trình lặp lại

Trình vòng lặp là một đối tượng cho phép người lập trình duyệt qua một vùng chứa. STL triển khai năm loại trình vòng lặp khác nhau:đầu vào (được sử dụng để đọc một chuỗi giá trị), đầu ra (được sử dụng để ghi một chuỗi giá trị), chuyển tiếp (có thể được đọc, ghi và di chuyển về phía trước), hai chiều (như chuyển tiếp trình vòng lặp, nhưng cũng có thể lùi lại) và truy cập ngẫu nhiên (di chuyển tự do bất kỳ số bước nào trong một thao tác). Trình lặp là tính năng chính cho phép tính tổng quát của STL.

Thuật toán

Các thuật toán trong STL là một tập hợp các chức năng được thiết kế đặc biệt để sử dụng trên các dải phần tử. Dải ô là bất kỳ chuỗi đối tượng nào có thể được truy cập thông qua trình vòng lặp hoặc con trỏ, chẳng hạn như một mảng hoặc một phiên bản của một số vùng chứa STL. Ví dụ về thuật toán trong STL:sort (Sắp xếp các phần tử trong phạm vi), binary_search (Kiểm tra xem giá trị có tồn tại trong chuỗi đã sắp xếp hay không), min_element (Trả về phần tử nhỏ nhất trong phạm vi), v.v. Lưu ý rằng tất cả các thuật toán này có thể được áp dụng cho bất kỳ kiểu dữ liệu nào được chấp nhận như một mẫu.

Trong ngôn ngữ lập trình C ++, Thư viện tiêu chuẩn C ++ là một tập hợp các lớp và hàm, được viết bằng ngôn ngữ cốt lõi và là một phần của Tiêu chuẩn ISO C ++. Thư viện chuẩn C ++ cung cấp một số vùng chứa chung, các hàm để sử dụng và thao tác các vùng chứa này, đối tượng hàm, chuỗi và luồng chung (bao gồm cả I / O tương tác và tệp), hỗ trợ một số tính năng ngôn ngữ và các hàm cho các tác vụ hàng ngày như tìm hình vuông gốc của một số. Sau đây là một số tính năng của thư viện chuẩn C ++ -

Luồng

Các thư viện này được sử dụng để xử lý các loại luồng khác nhau có sẵn trong C ++. Ví dụ:một luồng đại diện cho luồng tệp nói chung và lớp này có thể được sử dụng để tạo tệp, ghi thông tin vào tệp và đọc thông tin từ tệp, luồng đại diện cho luồng chuỗi và thường được sử dụng để thao tác chuỗi, v.v.

Vùng chứa

Đây là tập hợp các lớp được sử dụng để lưu trữ dữ liệu ở nhiều kiểu dữ liệu khác nhau như vectơ, tập hợp, bản đồ, ngăn xếp, hàng đợi, v.v. Đây là một thành phần của STL.

Thư viện chung

Các thư viện như thuật toán, Chrono cho thời gian, trình lặp, bộ nhớ, v.v.

Thư viện số

Thư viện này là một tập hợp các thành phần mà chương trình C ++ có thể sử dụng để thực hiện các phép toán số semin. Ví dụ: xác định một mẫu lớp và nhiều hàm để biểu diễn và thao tác các số phức, được sử dụng để tạo các số ngẫu nhiên (giả), v.v.

Phân luồng

Đây là thư viện được giới thiệu trong C ++ 11 về cơ bản xử lý đồng thời.

Thư viện Chuẩn C

Mỗi tiêu đề từ Thư viện Chuẩn C được đưa vào Thư viện Chuẩn C ++ dưới một tên khác, được tạo bằng cách xóa .h và thêm 'c' ở đầu; ví dụ:'time.h' trở thành 'ctime'.