Generic Programming and the STL: Using and Extending the C++ Standard Template Library (Paperback)
Matthew H. Austern
- 出版商: Addison Wesley
- 出版日期: 1998-10-13
- 售價: $2,100
- 貴賓價: 9.5 折 $1,995
- 語言: 英文
- 頁數: 548
- 裝訂: Paperback
- ISBN: 0201309564
- ISBN-13: 9780201309560
-
相關分類:
C++ 程式語言
立即出貨(限量) (庫存=1)
買這商品的人也買了...
-
$2,500$2,375 -
$490$417 -
$1,150$1,127 -
$650$553 -
$2,380$2,261 -
$1,782STL Tutorial and Reference Guide: C++ Programming with the Standard, 2/e(Hardcover)
-
$980$774 -
$1,100$1,045 -
$1,150$1,127 -
$860$679 -
$650$553 -
$1,860$1,767 -
$399CCNA Self-Study: CCNA Basics (CCNAB) (Hardcover)
-
$690$587 -
$780$741 -
$760$600 -
$760$600 -
$590$466 -
$560$504 -
$680$537 -
$480$379 -
$820$738 -
$650$507 -
$990$891 -
$850$723
相關主題
商品描述
Description
Austern's book introduces you to the generic programming paradigm and to the most important instance of that paradigm--the C++ Standard Template Library (STL). This book reveals that the STL is more than a set of convenient container classes: It is also an extensible framework for generic and interoperable components. Austern explains the central ideas underlying generic programming--concepts, modeling, and refinement--and shows how these ideas lead to the fundamental concepts of the STL: iterators, containers, and function objects.
Appropriate Courses
C++ - Intermediate Programming.
Table Of Contents
Preface.
I. INTRODUCTION TO GENERIC PROGRAMMING.
1. A Tour of the STL.
Summary.
2. Algorithms and Ranges.
Ranges.
Linear Search in C++.
Concepts and Modeling.
Iterators.
Output Iterators.
Forward Iterators.
Bidirectional Iterators.
Random Access Iterators.
Refinement.
Summary.
3. More about Iterators.
Difference Type.
Reference and Pointer Types.
Dispatching Algorithms and Iterator Tags.
Putting It All Together.
Iterator Traits without iterator_traits.
Defining New Components.
Advice for Defining an Iterator.
Advice for Defining an Algorithm.
Summary.
4. Function Objects.
Function Object Concepts.
Predicates and Binary Predicates.
Associated Types.
Function Object Adaptors.
Predefined Function Objects.
Summary.
5. Containers.
How It Works.
Finishing Touches.
Container Concepts.
Iterators.
The Hierarchy of Containers.
The Trivial Container.
Variable Size Container Concepts.
Associative Containers.
Allocators.
Summary.
Defining Your Own Container.
II. REFERENCE MANUAL: STL CONCEPTS.
6. Basic Concepts.
Default Constructible.
Equality Comparable.
Ordering.
Strict Weakly Comparable.
7. Iterators.
Input Iterator.
Output Iterator.
Forward Iterator.
Bidirectional Iterator.
Random Access Iterator.
8. Function Objects.
Unary Function.
Binary Function.
Adaptable Function Objects.
Adaptable Unary Function.
Adaptable Binary Function.
Predicates.
Binary Predicate.
Adaptable Predicate.
Adaptable Binary Predicate.
Strict Weak Ordering.
Specialized Concepts.
Hash Function.
9. Containers.
Forward Container.
Reversible Container.
Random Access Container.
Sequences.
Front Insertion Sequence.
Back Insertion Sequence.
Associative Containers.
Unique Associative Container.
Multiple Associative Container.
Simple Associative Container.
Pair Associative Container.
Sorted Associative Container.
Hashed Associative Container.
Allocator.
III. REFERENCED MANUAL: ALGORITHMS AND CLASSES.
10. Basic Components.
Iterator Primitives.
Iterator Tag Classes.
distance.
advance.
Iterator Base Class.
allocator.
Memory Management Primitives.
destroy.
uninitialized_copy.
uninitialized_fill.
uninitialized_fill_n.
Temporary Buffers.
return_temporary_buffer.
11. Nonmutating Algorithms.
find_if.
adjacent_find.
find_first_of.
Subsequence Matching.
find_end.
search_n.
Counting Elements.
count_if.
for_each.
Comparing Two Ranges.
mismatch.
lexicographical_compare.
Minimum and Maximum.
max.
min_element.
max_element.
12. Basic Mutating Algorithms.
copy_backward.
Swapping Elements.
iter_swap.
swap_ranges.
transform.
Replacing Elements.
replace_if.
replace_copy.
replace_copy_if.
Filling Ranges.
fill_n.
generate.
generate_n.
Removing Elements.
remove_if.
remove_copy.
remove_copy_if.
unique.
unique_copy.
Permuting Algorithms.
reverse_copy.
rotate.
rotate_copy.
next_permutation.
prev_permutation.
Partitions.
stable_partition.
Random Shuffling and Sampling.
random_sample.
random_sample_n.
Generalized Numeric Algorithms.
inner_product.
partial_sum.
adjacent_difference.
13. Sorting and Searching.
stable_sort.
partial_sort.
partial_sort_copy.
nth_element.
is_sorted.
Operations on Sorted Ranges.
Merging Two Sorted Ranges.
Set Operations on Sorted Ranges.
Heap Operations.
push_heap.
pop_heap.
sort_heap.
is_heap.
14. Iterator Classes.
back_insert_iterator.
insert_iterator.
Stream Iterators.
ostream_iterator.
istreambuf_iterator.
ostreambuf_iterator.
reverse_iterator.
raw_storage_iterator.
15. Function Object Classes.
binary_function.
Arithmetic Operations.
minus.
multiplies.
divides.
modulus.
negate.
Comparisons.
not_equal_to.
less.
greater.
less_equal.
greater_equal.
Logical Operations.
logical_or.
logical_not.
Identity and Projection.
project1st.
project2nd.
select1st.
select2nd.
Specialized Function Objects.
subtractive_rng.
Member Function Adaptors.
mem_fun_ref_t.
mem_fun1_t.
mem_fun1_ref_t.
const_mem_fun_t.
const_mem_fun_ref_t.
const_mem_fun1_t.
const_mem_fun1_ref_t.
Other Adaptors.
binder2nd.
pointer_to_unary_function.
pointer_to_binary_function.
unary_negate.
binary_negate.
unary_compose.
binary_compose.
16. Container Classes.
list.
slist.
deque.
Associative Containers.
map.
multiset.
multimap.
hash_set.
hash_map.
hash_multiset.
hash_multimap.
Container Adaptors.
queue.
priority_queue.
Appendix A. Portability and Standardization.
Default Template Parameters.
Member Templates.
Partial Specialization.
New Keywords.
Library Changes.
Container Adaptors.
Minor Library Changes.
Naming and Packaging.
Bibliography.
Index. 0201309564T04062001
商品描述(中文翻譯)
描述
Austern的書介紹了泛型編程範式以及該範式中最重要的實例 - C++標準模板庫(STL)。這本書揭示了STL不僅僅是一組方便的容器類:它還是一個可擴展的泛型和互操作組件框架。Austern解釋了泛型編程的核心思想 - 概念、建模和細化 - 並展示了這些思想如何導致STL的基本概念:迭代器、容器和函數對象。
適合的課程
C++ - 中級編程。
目錄
前言。
第一部分:泛型編程入門。
1. STL概述。
2. 算法和範圍。
3. 更多關於迭代器的內容。
(以下省略)