Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 45 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
45
Dung lượng
416,5 KB
Nội dung
Thư viện chuẩn C++ Standard Template Library (STL) Thư viện khn mẫu chuẩn - STL • Thư viện chuẩn C++ bao gồm 32 header file Thư viện khuôn mẫu chuẩn - STL • Thư viện chuẩn C++ gồm phần: – Lớp string – Thư viện khuôn mẫu chuẩn – STL • Ngoại trừ lớp string, tất thành phần lại thư viện khn mẫu • Tác giả STL Alexander Stepanov, mục đích ơng xây dựng cách thể tư tưởng lập trình tổng quát Thư viện khn mẫu chuẩn - STL • Các khái niệm STL phát triển độc lập với C++ – Do đó, ban đầu, STL khơng phải thư viện C++, mà chuyển đổi thành thư viện C++ – Nhiều tư tưởng dẫn đến phát triển STL cài đặt phần Scheme, Ada, C Thư viện khuôn mẫu chuẩn - STL • Một số lời khuyên STL – STL thiết kế đẹp hiệu - thừa kế hay hàm ảo định nghĩa – Từ tư tưởng lập trình tổng quát dẫn tới "khối bản" (building block) mà kết hợp với theo đủ kiểu – Tuy làm quen với STL tốn khơng thời gian thành tiềm tàng xuất xứng đáng với thời gian đầu tư – Tóm lại – học sử dụng! • Bài giảng để giới thiệu phần nhỏ STL Giới thiệu STL • Ba thành phần STL – Các thành phần mạnh xây dựng dựa template • Container: cấu trúc liệu template • Iterator: giống trỏ, dùng để truy nhập phần tử liệu container • Algorithm: thuật tốn để thao tác liệu, tìm kiếm, xếp, v.v Giới thiệu Container • loại container – Sequence container – container chuỗi • cấu trúc liệu tuyến tính (vector, danh sách liên kết) • first-class container • vector, deque, list – Associative container – container liên kết • • • • cấu trúc phi tuyến, tìm phần tử nhanh chóng first-class container cặp khóa/giá trị set, multiset, map, multimap – Container adapter – tương thích container • stack, queue, priority_queue Các hàm thành viên STL • Các hàm thành viên container có – – – – – Default constructor, copy constructor, destructor empty max_size, size = < >= == != swap • Các hàm thành viên first-class container – begin, end – rbegin, rend – erase, clear Giới thiệu Iterator • Iterator tương tự trỏ – trỏ tới phần tử container – toán tử iterator cho container • • • • * truy nhập phần tử trỏ tới ++ trỏ tới phần tử begin() trả iterator trỏ tới phần tử end() trả iterator trỏ tới phần tử đặc biệt chặn cuối container Các loại Iterator • Input (ví dụ: istream_iterator) – Đọc phần tử từ container, hỗ trợ ++,+= (chỉ tiến) • Output (ví dụ: ostream_iterator) – Ghi phần tử vào container, hỗ trợ ++,+= (chỉ tiến) • Forward (ví dụ: hash_set iterator) – Kết hợp input iterator output iterator – Multi-pass (có thể duyệt chuỗi nhiều lần) • Bidirectional (Ví dụ: list iterator) – Như forward iterator, lùi ( ,-=) • Randomaccess (Ví dụ: vector iterator) – Như bidirectional, cịn nhảy tới phần tử tùy ý ... Thư viện khn mẫu chuẩn - STL • Thư viện chuẩn C++ gồm phần: – Lớp string – Thư viện khn mẫu chuẩn – STL • Ngoại trừ lớp string, tất thành phần lại thư viện khn mẫu • Tác giả... tưởng lập trình tổng qt Thư viện khn mẫu chuẩn - STL • Các khái niệm STL phát triển độc lập với C++ – Do đó, ban đầu, STL khơng phải thư viện C++, mà chuyển đổi thành thư viện C++ – Nhiều tư tưởng.. .Thư viện khn mẫu chuẩn - STL • Thư viện chuẩn C++ bao gồm 32 header file