Growing Results Growing Results USA United Kingdom Canada Australia
Custom Search

[.ca] The C++ Standard Template Library (ISBN 0134376331)



From Amazon.co.uk:
Written by its inventors, The C++ Standard Template Library is a must-have for any serious intermediate or advanced C++ developer. With 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 mould with a clearly presented tour of STL from top to bottom, based on the individual header files that comprise 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 organised 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


not the book for a quick overview:
I had basically no knowledge of STL when I purchased this book and was quite afraid of templates. My job duties involve only sporadic forays into C++ so I had not had a lot of chance to get practical exposure to STL. In addition, the books I studied to learn C++ (and most C++ books I have seen since) tend to stumble a bit when it comes to covering templates. It was with these pre-existing handicaps that I began tackling this book. I will discuss the bad parts of the book first, but please keep reading down to the good parts because I think this book is an excellent resource to have available and I wouldn't want to do the authors a disservice. 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.


Not for working programmers:
Looking at the list of authors, I had high hopes for this book being an indepth guide to *using* the STL. So much so that I ordered it as soon as it was available, before seeing a review. The book is a reference to the STL, why things were done the way they were, and what the features of the various components are. The extensive sample code is a reference implementation of the STL itself, comprising a good deal of the text. I found few examples of actually using or extending the STL, these were left as exercises for the reader. The book is a strong reference for language purists (You know, those people on the newsgroups who quote from standards documents) or for someone implementing the STL (why?). In my opinion, someone learning to effectively use the STL would be better served with another reference.


Excellent book for a highly specialized audience:
Just a few months ago, I bemoaned the fact that Plauger's _The Draft Standard C++ Library_ had never been updated to the actual standard. I'm happy to report that this book contains an answer to a considerable part of my prayers: It contains an in-depth discussion of the STL, along with a complete, high quality implementation in source code form (Contrary to what the "Topics Covered" section on this page implies, however, the source code is NOT the Hewlett-Packard implementation, but a proprietary derivative which is commercially licensed). 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.


*THE* book you need if you want to extend STL:
If you are new to STL or if you just want to sharpen your STL skills, this book is *not* for you. It's of very little use to STL client programmers, i.e. users of STL. It's even a little bit advanced for a programmer who is interested only in developing new STL algorithms but not containers/iterators. 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...


Author:P.J. Plauger
Author:Alexander A. Stepanov
Author:Meng Lee
Author:David R. Musser
Binding:Paperback
Dewey Decimal Number:005.133
EAN:9780134376332
ISBN:0134376331
Number Of Pages:512
Publication Date:2000-12-11
UPC:076092010388



Compare prices:
See also:
SITE SEARCH
 


SUBSCRIBE RSS Feed
Add to My Yahoo!
Add to Google
Add to MSN
Add to Newsgator
Add to Bloglines

Copyright © 1999-2009 Data Growth Pty Ltd. All rights reserved.
Privacy Policy | Terms of Use |