Thư viện chuẩn C++

12 1.1K 12
Thư viện chuẩn C++

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Thư viện chuẩn C++

1 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 khuôn mẫu chuẩn – STL Thư viện chuẩn C++ Standard Template Library (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 qt • Các khái niệm STL phát triển độc lập với C++ – Do đó, ban đầu, STL 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  2003 Prentice Hall, Inc All rights reserved  2003 Prentice Hall, Inc All rights reserved Tổng quan Thư viện khn mẫu chuẩn - STL • Thư viện chuẩn C++ bao gồm 32 header file, ta làm quen với số file (ít đến mức độ đó)  2003 Prentice Hall, Inc All rights reserved • Một số lời khuyên STL – STL thiết kế đẹp hiệu - khơng có 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  2003 Prentice Hall, Inc All rights reserved 5 Giới thiệu Standard Template Library (STL) Các hàm thành viên STL • Các hàm thành viên container có • 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 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  2003 Prentice Hall, Inc All rights reserved  2003 Prentice Hall, Inc All rights reserved Giới thiệu Container Giới thiệu Iterator • 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 • 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 – Container adapter – tương thích container • stack, queue, priority_queue  2003 Prentice Hall, Inc All rights reserved  2003 Prentice Hall, Inc All rights reserved 9 Các loại Iterator • Input Các phép tốn Iterator • Input iterator (ví dụ: istream_iterator) ++ , =*p , -> , == , != – Đọc phần tử từ container, hỗ trợ ++,+= (chỉ tiến) • Output • Output iterator (ví dụ: ostream_iterator) ++ , *p= , p = p1 – Ghi phần tử vào container, hỗ trợ ++,+= (chỉ tiến) • Forward • Forward iterator (ví dụ: hash_set iterator) – Kết hợp toán tử input output iterator – Kết hợp input iterator output iterator – Multi-pass (có thể duyệt chuỗi nhiều lần) • Bidirectional • Bidirectional iterator toán tử cho forward, (Ví dụ: list iterator) – Như forward iterator, lùi ( ,-=) • Random access 11 • Random iterator (Ví dụ: vector iterator) tốn tử cho bidirectional, + , +=, -, -=, >, >=, &integers2 ); int main() { Tạo vector chứa giá trị int const int SIZE = 6; int array[ SIZE ] = { 1, 2, 3, 4, 5, }; std::vector< int > integers; cout

Ngày đăng: 16/08/2012, 10:08

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan