STL Tutorial and Reference Guide C++ Programming with the Standard Template Library

ISBN-10: 0201379236

ISBN-13: 9780201379235

Edition: 2nd 2001 (Revised)

Authors: David R. Musser, Gillmer J. Derge, Atul Saini

List price: $59.99 Buy it from $3.00
30 day, 100% satisfaction guarantee

If an item you ordered from TextbookRush does not meet your expectations due to an error on our part, simply fill out a return request and then return it by mail within 30 days of ordering it for a full refund of item cost.

Learn more about our returns policy


Written by developers who helped create the Standard Template Library and pioneered its use, The STL Tutorial and Reference Guide is the world's most accessible, thorough, and practical introduction to STL. This brand-new Second Edition is fully updated to reflect all STL changes incorporated in the final ANSI/ISO standard. It provides dozens of powerful new examples. It contains three completely new chapters, all new appendices, and has been reworked throughout. The authors begin with a highly-accessible overview for STL newcomers; then present detailed explanations of every STL element. Understand the advantages of generic programming with STL; how STL can improve code performance; and how it differs from other libraries in extensibility, component interchangeability, and algorithm/container compatibility. Extensive code examples illustrate each key concept and technique, and larger sample programs show STL at work in the real world. The book also includes a comprehensive STL reference. This is an essential title for all C++ programmers.
Used Starting from $3.24
what's this?
Rush Rewards U
Members Receive:
You have reached 400 XP and carrot coins. That is the daily max!
Study Briefs

Limited time offer: Get the first one free! (?)

All the information you need in one place! Each Study Brief is a summary of one specific subject; facts, figures, and explanations to help you learn faster.

Add to cart
Study Briefs
Periodic Table Online content $4.95 $1.99
Add to cart
Study Briefs
Periodic Table Online content $4.95 $1.99
Add to cart
Study Briefs
SQL Online content $4.95 $1.99
Add to cart
Study Briefs
MS Excel® 2010 Online content $4.95 $1.99
Customers also bought

Book details

List price: $59.99
Edition: 2nd
Copyright year: 2001
Publisher: Addison Wesley Professional
Publication date: 3/27/2001
Binding: Hardcover
Pages: 560
Size: 7.50" wide x 9.25" long x 1.50" tall
Weight: 2.882

David R. Musser, currently of Rensselaer Polytechnic Institute, has been involved with STL almost from its inception. Collaborating with its creator, Alexander Stepanov, he helped develop the first implementation and contributed to STL's inclusion in the ANSI/ISO C++ standard. Atul Sainiis President and CEO of Modena Software Incorporated, which distributes STL++, the first commercial STL product.

Foreword to the First Edition
Tutorial Introduction to STL
Who Should Read This Book
What Generic Programming Is and Why It's Important
How C++ Templates Enable Generic Programming
The "Code Bloat" Problem with Templates
Understanding STL's Performance Guarantees
Overview of STL Components
Generic Algorithms
Function Objects
How STL Differs from Other Libraries
Component Interchangeability
Algorithm/Container Compatibility
Input Iterators
Output Iterators
Forward Iterators
Bidirectional Iterators
Random Access Iterators
The STL Iterator Hierarchy: Combining Algorithms and Containers Efficiently
Insert Iterators
Revisiting Input and Output: Stream Iterators
Specification of Iterator Categories Required by STL Algorithms
Designing Generic Algorithms
Why Some Algorithms Require More Powerful Iterators
Choosing the Right Algorithm
Constant Versus Mutable Iterator Types
Iterator Categories Provided by STL Containers
Generic Algorithms
Basic Algorithm Organization in STL
Nonmutating Sequence Algorithms
Mutating Sequence Algorithms
Sorting-Related Algorithms
Generalized Numeric Algorithms
Sequence Containers
Sorted Associative Containers
Sets and Multisets
Maps and Multimaps
Function Objects
Passing Functions via Function Pointers
Advantages of Specifying Function Objects with Template Parameters
STL-Provided Function Objects
Container Adaptors
Stack Container Adaptor
Queue Container Adaptor
Priority Queue Container Adaptor
Iterator Adaptors
Function Adaptors
Adaptors for Pointers to Functions
Putting It Together: Example Programs
Program for Searching a Dictionary
Finding Anagrams of a Given Word
Interacting with the Standard String and I/O Streams Classes
Generating Permutations and Searching the Dictionary
Complete Program
How Fast Is It?
Program for Finding All Anagram Groups
Finding Anagram Groups
Defining a Data Structure to Work with STL
Creating Function Objects for Comparisons
Complete Anagram Group Finding Program
Reading the Dictionary into a Vector of PS Objects
Using a Comparison Object to Sort Word Pairs
Using an Equality Predicate Object to Search for Adjacent Equal Elements
Using a Function Adaptor to Obtain a Predicate Object
Copying the Anagram Group to the Output Stream
Output of the Anagram Program
Better Anagram Program: Using the List and Map Containers
Data Structure Holding Iterator Pairs
Storing Information in a Map of Lists
Outputting the Anagram Groups in Order of Size
Better Anagram Program
Output of the Program
Why Use a Map Container?
Faster Anagram Program: Using Multimaps
Finding Anagram Groups, Version 3
Declaration of the Multimap
Reading the Dictionary into the Multimap
Finding the Anagram Groups in the Multimap
Outputting the Anagram Groups in Order of Size
Output of the Program
How Fast Is It?
Defining an Iterator Class
New Kind of Iterator: Counting Iterator
Counting Iterator Class
Combining STL with Object-Oriented Programming
Using Inheritance and Virtual Functions
Avoiding "Code Bloat" from Container Instances
Program for Displaying Theoretical Computer Science Genealogy
Sorting Students by Date
Associating Students with Advisors
Finding the Roots of the Tree
Reading the File
Printing the Results
Complete "Genealogy" Program
Class for Timing Generic Algorithms
Obstacles to Accurate Timing of Algorithms
Overcoming the Obstacles
Refining the Approach
Automated Analysis with a Timer Class
Timing the STL Sort Algorithms
STL Reference Guide
Iterator Reference Guide
Input Iterator Requirements
Output Iterator Requirements
Forward Iterator Requirements
Bidirectional Iterator Requirements
Random Access Iterator Requirements
Iterator Traits
Iterator Operations
Istream Iterators
Ostream Iterators
Reverse Iterators
Back Insert Iterators
Front Insert Iterators
Insert Iterators
Container Reference Guide
Organization of the Container Class Descriptions
Stack Container Adaptor
Queue Container Adaptor
Priority Queue Container Adaptor
Generic Algorithm Reference Guide
Organization of the Algorithm Descriptions
Nonmutating Sequence Algorithm Overview
For Each
Find First
Adjacent Find
Search N
Find End
Mutating Sequence Algorithm Overview
Random Shuffle
Sorting-Related Algorithms Overview
Nth Element
Binary Search
Set Operations on Sorted Structures
Heap Operations
Min and Max
Lexicographical Comparison
Permutation Generators
Generalized Numeric Algorithms Overview
Inner Product
Partial Sum
Adjacent Difference
Function Object and Function Adaptor Reference Guide
Base Classes
Arithmetic Operations
Comparison Operations
Logical Operations
Negator Adaptors
Binder Adaptors
Adaptors for Pointers to Functions
Adaptors for Pointers to Member Functions
Allocator Reference Guide
Allocator Requirements
Default Allocator
Custom Allocators
Utilities Reference Guide
Comparison Functions
STL Header Files
String Reference Guide
String Classes
Character Traits
STL Include Files Used in Example Programs
Files Used in Example 17.1
STL Resources
Internet Addresses for SGI Reference Implementation of STL
World Wide Web Address for Source Code for Examples in this Book
STL-Compatible Compilers
Other Related STL and C++ Documents
Generic Programming and STL Discussion List
Free shipping on orders over $35*

*A minimum purchase of $35 is required. Shipping is provided via FedEx SmartPost® and FedEx Express Saver®. Average delivery time is 1 – 5 business days, but is not guaranteed in that timeframe. Also allow 1 - 2 days for processing. Free shipping is eligible only in the continental United States and excludes Hawaii, Alaska and Puerto Rico. FedEx service marks used by permission."Marketplace" orders are not eligible for free or discounted shipping.

Learn more about the TextbookRush Marketplace.