Product Details
Beyond the C++ Standard Library: An Introduction to Boost

Beyond the C++ Standard Library: An Introduction to Boost
By Bjorn Karlsson

List Price: £35.99
Price: £24.18 & eligible for FREE Super Saver Delivery. Details

Availability: Usually dispatched within 1 to 3 weeks
Dispatched from and sold by Amazon.co.uk

26 new or used available from £21.42

Average customer review:

Product Description

Introducing the Boost libraries: the next breakthrough in C++ programming Boost takes you far beyond the C++ Standard Library, making C++ programming more elegant, robust, and productive. Now, for the first time, a leading Boost expert systematically introduces the broad set of Boost libraries and teaches best practices for their use. Writing for intermediate-to-advanced C++ developers, Bjorn Karlsson briefly outlines all 58 Boost libraries, and then presents comprehensive coverage of 12 libraries you're likely to find especially useful. Karlsson's topics range from smart pointers and conversions to containers and data structures, explaining exactly how using each library can improve your code. He offers detailed coverage of higher-order function objects that enable you to write code that is more concise, expressive, and readable. He even takes you "behind the scenes" with Boost, revealing tools and techniques for creating your own generic libraries.Coverage includes * Smart pointers that provide automatic lifetime management of objects and simplify resource sharing * Consistent, best-practice solutions for performing type conversions and lexical conversions * Utility classes that make programming simpler and clearer * Flexible container libraries that solve common problems not covered by the C++ Standard Library * Powerful support for regular expressions with Boost. Regex * Function objects defined at the call site with Boost.Bind and Boost.Lambda * More flexible callbacks with Boost.Function * Managed signals and slots (a.k.a. the Observer pattern) with Boost.Signals The Boost libraries are proving so useful that many of them are planned for inclusion in the next version of the C++ Standard Library. Get your head start now, with Beyond the C++ Standard Library. A(c) Copyright Pearson Education. All rights reserved.


Product Details

  • Amazon Sales Rank: #127893 in Books
  • Published on: 2005-09-08
  • Original language: English
  • Number of items: 1
  • Binding: Paperback
  • 432 pages

Editorial Reviews

From the Back Cover

Introducing the Boost libraries: the next breakthrough in C++ programming

Boost takes you far beyond the C++ Standard Library, making C++ programming more elegant, robust, and productive. Now, for the first time, a leading Boost expert systematically introduces the broad set of Boost libraries and teaches best practices for their use.

Writing for intermediate-to-advanced C++ developers, Björn Karlsson briefly outlines all 58 Boost libraries, and then presents comprehensive coverage of 12 libraries you're likely to find especially useful. Karlsson's topics range from smart pointers and conversions to containers and data structures, explaining exactly how using each library can improve your code. He offers detailed coverage of higher-order function objects that enable you to write code that is more concise, expressive, and readable. He even takes you "behind the scenes" with Boost, revealing tools and techniques for creating your own generic libraries.

Coverage includes

  • Smart pointers that provide automatic lifetime management of objects and simplify resource sharing

  • Consistent, best-practice solutions for performing type conversions and lexical conversions

  • Utility classes that make programming simpler and clearer

  • Flexible container libraries that solve common problems not covered by the C++ Standard Library

  • Powerful support for regular expressions with Boost.Regex

  • Function objects defined at the call site with Boost.Bind and Boost.Lambda

  • More flexible callbacks with Boost.Function

  • Managed signals and slots (a.k.a. the Observer pattern) with Boost.Signals

The Boost libraries are proving so useful that many of them are planned for inclusion in the next version of the C++ Standard Library. Get your head start now, with Beyond the C++ Standard Library.


© Copyright Pearson Education. All rights reserved.

About the Author

Björn Karlsson works as a Senior Software Engineer at ReadSoft, where he spends most of his time designing and programming in C++. He has written a number of articles about C++ and the Boost libraries for publications such as C/C++ Users Journal, Overload, and the online journal The C++ Source.

Karlsson is a member of the advisory board for The C++ Source and has been a member of the editorial board of C/C++ Users Journal, where he is also one of the columnists in the Experts Forum. He participates in the Boost newsgroups and is one of the Boost-Users moderators.


Customer Reviews

Exactly the book I needed... and Boost too!5
This is really what the Boost community (www.boost.org) needs to increase the awareness of its excellent libraries! Not to mention how much I needed it to improve my programming!

As a programmer, you have so many task specific features to implement, that you really don't have the time (or even interest) to implement the fundamentals. Yes, you have the C++ standard library to assist you, but the Boost libraries take you to an entirely new level. And the Boost libraries have the absolute top quality, which most of us just can not achieve even if we had all the time in the world. Yet, the libraries *are* fundamental in the sense that they solve common programming issues (and also in many cases show the path to upcoming C++ standards). It is hard to imagine an application making use of *all* the Boost libraries, but I'd say that it is equally hard to imagine an application which would not benefit from any Boost library.

[Did you get this far without ever having visited http://www.boost.org? Then now is the time to do that...

Done? Ok, let's continue with the book.]

Without any statistics to support me, I am pretty convinced that the average Boost user is far more experienced in C++ than most of us who make a living out of C++ programming (let alone those who do not). This book will help to flatten out this bias, by making Boost easy to understand and immediately useful for those who read it. It is clearly written - technically correct while never being boring, even if you read from first to last page. It includes many code examples, which repeatedly made me associate to uses in my programming. I would have liked the examples and the Boost libraries on an accompanying CD, but this is no major concern - it's better to get the freshest release from boost.org anyway. I read the book basically from start to end, skimming a couple of libraries that I found no immediate use for. The book covers 12 libraries out of 58 which makes me looking forward to a follow-up book covering yet another 12 or so libraries.

A very good introduction to some of the most useful boost libraries4
When I read this book I went immediately to Part III, Function Objects and Higher-Order Programming, because in that part introductions to the Boost Bind and Lambda libraries are provided. In the introduction of this part it is written: "The following four libraries have the potential of changing the way you look at programming in C++ forever. (...) the libraries covered in this part of the book take function objects to a whole new level of abstraction." And this statement is not an exaggeration. Because of my experience in Python and functional programming, I always thought of C++ as a rather verbose and awkward language. These libraries serve to some extent to redress the balance. Any C++ programmer should, I think, take note of these libraries. It may indeed very well change the way you program C++ for ever. However, my appetite whetted, the initial read of Library 9 Bind proved somewhat disappointing. The prose of this chapter is at times pathetic ("thusly", "aforementioned") and in the first couple of pages the chapter seemed more intent on mystifying than clarifying. I greatly missed a couple of crucial explanations in order to make sense of the examples. So I was almost prepared to drop the book, but fortunately I didn't. My interest in the Boost Bind library kept me going, and soon all pieces fell at its place as subsequent pages were a lot better.

Now after having read everything my verdict is a firm thumps up. My initial misgivings were wrong, and apart from chapter Library 9: Bind, this book is actually is a very pleasant read. Very rarely I was able to read a computing book as fast as this one as the explanations are usually very clear and very to-the-point. The format of the book is such that the first pages of each chapter explain what a library can do, and later-on, a glimpse is given of how that is accomplished. Apart from in Chapter 9: Bind, that format served this book very well. I also very much liked the examples. The author seemed always able to capture the essence of what the library can do for you in the smallest amount of source code. Another nice aspect of the book is that apart from the chapters of Part III, there is no need to read all chapters in succession.

The libraries of Part I are rather mundane in comparison to that of Part III as they deal with subjects that should have been included in the standard library long ago, such as the perennial smart pointers. It may not have been worth to spend so many pages to subjects that are treated in almost any introductory C++ book I can think of, but even so, those subjects are covered here very well. (I particularly liked the chapter about smart pointers.)

However, this book may be a very good introduction to some of the most useful Boost libraries, it is not suited as a reference manual. For that purpose too many subjects were covered.

Readable, broad coverage of the core Boost libraries4
Boost is a series of libraries for C++ that provides extra functionality missing in the C++ standard library. Unless you're forced to only use what's part of the standard, you'll want to lean heavily on Boost. And even if you can't use it for some reason, a lot of it is passing into the next version of C++, so you may as well get familiar with it now.

This book covers the most immediately useful Boost libraries for the general audience. Topics include various smart pointers, including the vital shared_ptr, that makes STL container of polymorphic types much easier to deal with, extra casting operators, regular expressions, and the signal library, that provides a framework for implementing the observer design pattern.

A large chunk of the book is devoted to functional issues, covering the bind, lambda and functional libraries, which work together to substantially extend the functor capabilities of the STL. Code making use of these libraries are a good deal more powerful than what's currently in the standard library, more readable (although that's not necessarily saying much), and might even make the dream of writing loop-free code with functors a reality.

As an introduction to Boost, this is pretty good, which is just as well, given how little competition there is out there. Bjorn Karlsson writes well, and provides plenty of examples of the code in action. None of the examples are very long, however. In many places you'll find just enough to work out the syntax of the libraries, which you can then use with the API details that are also provided to get your own code working. It's not intended to be a very deep treatment of any of the libraries, however.

However, if you're looking for an introduction to Boost's most immediately usable code, this is a good purchase.