- Paperback: 512 pages
- Publisher: Prentice Hall; 1 edition (December 21, 2000)
- Language: English
- ISBN-10: 0134376331
- ISBN-13: 978-0134376332
- Product Dimensions: 6.8 x 0.8 x 8.8 inches
- Shipping Weight: 1.8 pounds (View shipping rates and policies)
- Average Customer Review: 6 customer reviews
- Amazon Best Sellers Rank: #1,930,298 in Books (See Top 100 in Books)
Enter your mobile number or email address below and we'll send you a link to download the free Kindle App. Then you can start reading Kindle books on your smartphone, tablet, or computer - no Kindle device required.
To get the free app, enter your mobile phone number.
The C++ Standard Template Library 1st Edition
Use the Amazon App to scan ISBNs and compare prices.
Fulfillment by Amazon (FBA) is a service we offer sellers that lets them store their products in Amazon's fulfillment centers, and we directly pack, ship, and provide customer service for these products. Something we hope you'll especially enjoy: FBA items qualify for FREE Shipping and Amazon Prime.
If you're a seller, Fulfillment by Amazon can help you increase your sales. We invite you to learn more about Fulfillment by Amazon .
Frequently bought together
Customers who bought this item also bought
Customers who viewed this item also viewed
Written by its inventors, The C++ Standard Template Library is a must-have for any serious intermediate or advanced C++ developer. Containing a full reference to all available Standard Template Library (STL) features and filled with expert advice, this book will give you the means to use this powerful library more effectively.
As most C++ developers know, the STL bundles robust container classes and nearly 100 algorithms (used to efficiently search, sort, and manipulate data). However, tapping its power can be a challenge. Many books on STL resort to the arcane syntax of templates and can be couched in the language of computer science. The C++ Standard Template Library breaks this mold with a clearly presented tour of STL from top to bottom, based on the individual header files that make up this library. Because it was written by its original inventors, you get a true insider's perspective.
Starting with iterators (used to navigate through data) and an in-depth guide to STL algorithms, you'll learn the right way to use STL from the ground up, including specific features and APIs. Each chapter is organized so that newcomers can learn the basics first, with a reference and guide to APIs and how to use them. The nitty-gritty details follow. (Each chapter includes the full source code from Hewlett-Packard's implementation of each STL header file, along with annotations and suggested programming exercises to try out on your own.) Besides full source code, expert readers will benefit from the description of the design choices made by the STL author/inventors, as well as tips for performance.
The book closes with a full tour of STL containers (including the vector, list, set, and map classes), plus hints for selecting the right containers based on your programming needs. (It helps that the discussion on containers occurs after the material on algorithms, making STL containers even more flexible.) In all, The C++ Standard Template Library looks to be an important book, one that will help anyone with some C++ experience get productive with STL. --Richard Dragan
- Introduction to the Standard Template Library (STL)
- Guidelines for using STL features and test code
- Programming exercises
- Iterators (output and input iterators, forward, bidirectional, and random access iterators)
- Utility templates
- Allocators and memory templates (including smart pointers with auto_ptr)
- Guide to over 90 STL algorithms (including searching, sorting, and manipulating STL data)
- Numeric templates
- Templates for function objects
- Guide to STL containers
- Vector and resizable arrays
- List and linked lists
- Deque and double-ended queues
- STL associative containers (set and map containers, trees (including balanced, mostly balanced, and red-black trees), multisets and multimaps, stacks, queues, and priority queues
- Reference and tutorial to all STL classes and APIs
- Full source code for the Hewlett-Packard implementation of STL
- Sample programming exercises
From the Publisher
Standard Template Libraries (STL) were created to provide C++ programmers with a suite of reusable programs, or lines of code, that could be used by everyone to increase programming productivity and quality. This book is the definitive reference on C++ programming using STL, as it was written by the team that created the library. Every C++ programmer will need at least one off-the-shelf STL reference guide. Each chapter covers one STL component, and includes background, a review of the standard, using the component, implementing the component, and exercises. For C++ Software Development Managers and C++ programmers at all levels.
Author interviews, book reviews, editors picks, and more. Read it now
Top customer reviews
There was a problem filtering reviews right now. Please try again later.
I had read the reviews and ordered this book. It IS what the reviews say. I purchased the book as I wanted to learn more about C++ and collecting all the recommended books (accu.org). So I was not looking at developing new container or any generic algorithm.
Personally, I found this book containing too much of code and manual style writing - which does not make it a normal reading.
It will become too heavy going, if you don't understand a lot about STL. Use it as an indepth implementation reference guide only.
So if you looking for learning only STL and NOT interested HOW TO DESIGN or understand design of STL then this book is not for you.
I found STL, and this book, to be pretty complicated when I started. Basically the book is divided up with a chapter for each header file in the library, which I am now convinced is NOT the best way to teach someone the STL. Keeping in mind that I had absolutely zero knowledge of the STL prior to reading this book, it was understandably confusing at first. Iterators and allocators are explained long before containers, which sort of leaves them with no apparent applications. Mention is made that they will be used later, but it was really hard (at least for me) to understand and remember the how's without knowing the why's. When I finally got to the container section I found myself flipping back pretty regularly to the iterator and allocator sections to review because much of that earlier material I didn't absorb in the first read. A student must be diligent and read most of the book before it will start to make sense. This means if a reader is looking for a book that will just get them up and running with the STL, this probably isn't the one.
Despite the above paragraph, I was on the verge of giving this book five stars. The book is thorough and methodical, and if you have the time to read it (and do some of the questions, I found them helpful) you will probably be quite good with the STL by the end. The authors definitely know the subject material. I did not find much humor or funny anecdotes to make the reading pass quicker, but most of the book was really concise. Probably 150 pages or so spread throughout the book is the source code, so they had to keep editorializing to a minimum. I found the writing to be pretty clear and as easy to understand as possible, given the complexity of the subject matter. It took me awhile to read through the whole book, and even afterwards I was still a bit cloudy, but after a couple hours of banging around with some test programs it all clicked into place and I feel really confident that I learned the material well.
Now that I have a good understanding of the STL, this book is second to none as a reference. While laying out the book header by header is a detriment to the learning process, it is invaluable later on as a reference. In addition, a complete and functional version of the STL code is printed in each appropriate chapter of the book. After each section of code is found a few line summary of each class and method, again invaluable as a reference.
In conclusion, I would rate this book as a must-have if you are serious about learning (and *understanding*) the STL. For the pretty reasonable price you get a thorough book by authors who know what they are doing, and an excellent post-read reference that you will want to have on your shelf. The only bad part about the book was it could have been organized to make the first read a bit better (to the detriment of later reads), and it won't get you up and running with the STL as quick as some other books might. It is definitely one of my top three favorite books on the shelf at home.
It's hard to pin down exactly why, but this book was not quite as pleasurable a read as its predecessors. One of the reasons might be the typography: The use of underlining for emphasis of the actual makes the standards sections of the book unpleasant to read. There might be an issue of the subject: For all its power, there is not all that much interesting algorithmic stuff going on in the STL. Lastly, it seems that C++ template code as such, no matter how brilliantly written and how useful to the library client, is rather unpleasant to read-a somewhat sobering insight to a C++ aficionado as myself. As a result, the code that *was* algorithmically interesting was quite hard to understand-I would not recommend this book to somebody trying to learn about red-black trees, for instance.
If you buy just one book about the STL, buy Josuttis' _The Standard C++ Library_. If you want additional in-depth insight into the workings of the STL, and are willing to invest the time it takes to study the code, buy this book. I certainly never regretted reading it, and I hope that Plauger will update his implementation of the rest of the C++ library to publish a standard compliant version of the iostream and string libraries sometime in the future.
But, if you're serious about extending STL, especially if you want to write new container and iterator classes, this is *the* book you need.
Personally, I make use of the information provided in this book to write a 3D container class and a couple of highly complex 3D iterators for an academic study demanding high speed and reliability. I have other STL books like Austern's Genetic Programming and the STL or, Musser's STL Tutorial and Reference Guide which are both extremely good references for *using* STL. But, those books did not help me even a little bit when I was trying to write a 3D iterator. I believe, The C++ Standard Template Library is the only book around that's really meant for serious STL developers.
So, if you ever want to develop a new container with a fair amount of new features or a new iterator with fancy tricks, buy this book. But, If you're only after using STL and/or developing new algorithms, stick with Austern's Genetic Programming or some other similar book...