Danh mục

Bài giảng Lập trình hướng đối tượng: Chương 6 - ThS. Bùi Trọng Hiếu

Số trang: 117      Loại file: pdf      Dung lượng: 1.13 MB      Lượt xem: 11      Lượt tải: 0    
Jamona

Phí tải xuống: 33,000 VND Tải xuống file đầy đủ (117 trang) 0
Xem trước 10 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

Chương 6 trình bày về Standard Template Library (STL) với một số nội dung như: Origins of STL, generic programming, STL components, STL installation, STL header files, STL incompatibilities,... Mời các bạn cùng tham khảo.
Nội dung trích xuất từ tài liệu:
Bài giảng Lập trình hướng đối tượng: Chương 6 - ThS. Bùi Trọng Hiếu Chương 6 Standard Template Library 1Lập trình hướng đối tượng - STL The Standard Template Library • Origins of STL • Generic programming • STL components • STL installation • STL header files • STL incompatibilities 2Lập trình hướng đối tượng - STL The Standard Template Library • The Standard Template Library (STL) is a general-purpose library of container classes (such as vectors, lists, sets and maps) and generic algorithms (such as searching, sorting and merging). • The chief difference between STL and other C++ libraries is that STL containers and algorithms can be plugged together in a myriad of different useful ways. 3Lập trình hướng đối tượng - STL Problems with libraries • Writing your own library of container classes can be very frustrating because, even if you are familiar with the best techniques, there is rarely time to implement them. • Buying a commercial library also has its drawbacks: – Incompatibility – Inefficiency – Unwieldy interfaces 4Lập trình hướng đối tượng - STL Origins of STL• In view of these problems, the ANSI committee for C++ standardisation sought a standard set of container classes.• Alexander Stepanov and Meng Lee of Hewlett Packard Laboratories proposed STL, and in 1994 it was accepted as part of the C++ Standard Library. 5Lập trình hướng đối tượng - STL Why STL? • STL was chosen as the ANSI standard for several reasons: – Efficiency – Iterators – Generic algorithms – Function objects – Allocators 6Lập trình hướng đối tượng - STL Generic programming • Research into generic programming has aimed to produce libraries of generic, or reusable, software components. 7Lập trình hướng đối tượng - STL Generic programming •Each iterator defines the operations that are needed to access the contents of a particular type of container. •Class templates are used to define containers and iterators, and function templates are used to define generic algorithms. 8Lập trình hướng đối tượng - STL Generic programming •Not every generic algorithm and iterator can be plugged together. STL prohibits some combinations because certain algorithms are only efficient when they are used with certain types of containers. 9Lập trình hướng đối tượng - STL STL components • Containers • Generic algorithms • Iterators • Adaptors • Function objects • Allocators 10Lập trình hướng đối tượng - STL Containers • A container is a data structure that stores a collection of objects. • STL defines two categories of containers: sequential containers and associative containers. 11Lập trình hướng đối tượng - STL Sequential containers • Sequential containers store items in a linear structure. The three sequential container types are: vector deque list 12Lập trình hướng đối tượng - STL Associative containers• Associative containers store items in a structure suited for fast associative lookup. The four associative container types are: set multiset map multimap 13Lập trình hướng đối tượng - STL Generic algorithms (I) • In traditional container class libraries, all of the algorithms associated with a particular class are implemented as member functions of that class. • In contrast, most STL algorithms are written as external functions that interact with container classes via iterators. 14Lập trình hướng đối tượng - STL Generic algorithms (II) • Each algorithm can opera ...

Tài liệu được xem nhiều: