Generic Programming and the STL: Using and Extending the C++ Standard Template Library (Paperback)
暫譯: 泛型程式設計與 STL:使用與擴展 C++ 標準模板庫 (平裝本)
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$387 -
$1,150$1,127 -
$650$514 -
$2,480$2,356 -
$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$514 -
$1,900$1,805 -
$399CCNA Self-Study: CCNA Basics (CCNAB) (Hardcover)
-
$690$587 -
$780$741 -
$760$600 -
$760$600 -
$590$466 -
$560$476 -
$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++ - 中級程式設計。
目錄
前言。
I. 泛型程式設計介紹。
1. STL 總覽。
一個簡單的範例。
摘要。
2. 演算法與範圍。
線性搜尋。
在 C 中的線性搜尋。
範圍。
在 C++ 中的線性搜尋。
概念與建模。
迭代器。
輸入迭代器。
輸出迭代器。
前向迭代器。
雙向迭代器。
隨機存取迭代器。
精煉。
摘要。
3. 迭代器的更多資訊。
迭代器特徵與相關類型。
值類型。
差異類型。
參考與指標類型。
調度演算法與迭代器標籤。
綜合所有內容。
沒有 iterator_traits 的迭代器特徵。
定義新組件。
迭代器適配器。
定義迭代器的建議。
定義演算法的建議。
摘要。
4. 函數物件。
一般化線性搜尋。
函數物件概念。
一元與二元函數物件。
謂詞與二元謂詞。
相關類型。
函數物件適配器。
預定義函數物件。
摘要。
5. 容器。
一個簡單的容器。
一個陣列類別。
它是如何運作的。
最後的修飾。
容器概念。
元素的包含。
迭代器。
容器的層級。
簡單容器。
可變大小容器概念。
序列。
關聯容器。
配置器。
摘要。
你應該使用哪個容器?
定義你自己的容器。
II. 參考手冊:STL 概念。
6. 基本概念。
可指派。
可預設構造。
可比較相等。
排序。
小於可比較。
嚴格弱可比較。
7. 迭代器。
簡單迭代器。
輸入迭代器。
輸出迭代器。
前向迭代器。
雙向迭代器。
隨機存取迭代器。
8. 函數物件。
基本函數物件。
生成器。
一元函數。
二元函數。
可適應的函數物件。
可適應的生成器。
可適應的一元函數。
可適應的二元函數。
謂詞。
謂詞。
二元謂詞。
可適應的謂詞。
可適應的二元謂詞。
嚴格弱排序。
專門概念。
隨機數生成器。
雜湊函數。
9. 容器。
一般容器概念。
容器。
前向容器。
可逆容器。
隨機存取容器。
序列。
序列。
前插入序列。
後插入序列。
關聯容器。
關聯容器。
唯一關聯容器。
多重關聯容器。
簡單關聯容器。
對關聯容器。
排序關聯容器。
雜湊關聯容器。
配置器。
III. 參考手冊:演算法與類別。
10. 基本組件。
pair。
迭代器原始類型。
iterator_traits。
迭代器標籤類別。
distance。
advance。
迭代器基類。
allocator。
記憶體管理原始類型。
construct。
destroy。
uninitialized_copy。
uninitialized_fill。
uninitialized_fill_n。
臨時緩衝區。
get_temporary_buffer。
return_temporary_buffer。
11. 非變更演算法。
線性搜尋。
find。
find_if。
adjacent_find。
find_first_of。
子序列匹配。
search。
find_end。
search_n。
計數元素。