Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
C++ standard library quick reference
Van Weert P., Gregoire M., Apress, Berkeley, CA, 2016. 206 pp. Type: Book (978-1-484218-75-4)
Date Reviewed: Nov 4 2016

This small book (200 pages) represents an annotated guide to the modern (say, after 2011) C++ library. It claims to offer a “condensed, well-structured summary” of library features providing “tutorial aspects” to novice or experienced programmers.

Chapter 1, “Numerics and Math,” is an enumeration of the rich panoply of number-crunching functionality that modern C++ makes available out of the box, with a modest commentary. Chapter 2, “General Utilities,” goes to a somewhat greater length in annotating modern additions to C++ library functionality such as, for instance, moving semantics, pointer ownership behavior, and “although not part of the standard library,” even lambda expressions. In chapter 3, “Containers,” the guide presents contents of headers related to built-in data structures and provides a good amount of contextual information on proper usage and idiomatic coding of the library functionality related to containers and iterators. On the other hand, chapter 4, “Algorithms,” is annotated in a cursory fashion, lacking some of the worthwhile attention bestowed on the previous components. Chapter 5, “Stream I/O,” sits somewhere in between the previous two chapters with regard to annotation detail. “Characters and Strings,” chapter 6, introduces string containers and functionality, including the rudiments of using regular expressions. It provides some explanations about how their usage differs from other containers. Chapter 7, “Concurrency,” is about functionality for threads, locks, and atomic variables. The commentary is a terse reminder of concepts in concurrent programming and their usage model as relevant to the library code presented. Chapter 8, “Diagnostic,” is too thin a guide to the troubleshooting facilities in the standard library. Appendix A simply enumerates the standard headers grouped to match each chapter in the guide. A ten-page index then follows; as a representative case, this index itemizes erf(), but not “error function.”

One may wonder about the value of this quick guide, in addition to what appears at first impression to be the hard-copy of many pages available with an installation of Linux and possibly the libstdc++6-4.7-doc additional package, or equivalent proprietary solutions. As a surrogate for a comprehensive online documentation library, this work’s briefly commented enumeration by category of a large body of available functionality may be appealing as a catalog when considering options for addressing an unfamiliar coding problem. The brevity of the annotations, unfortunately, is critical, and the compromise between concise and useful is often uncomfortable. The degree of utility will depend on the background of the reader, on the scope of the issue at hand, and on too many other factors: your mileage may vary greatly. For instance, chapter 1 correctly explains that the < cmath > header defines common math functions: In a work “targeted at all C++ programmers, regardless of their proficiency,” it may be worth mentioning that it also undefines homonymous macros available from the traditional math.h header in favor of actual functions, yet the work fails to provide the additional context, and this pattern repeats. In other words, how useful this guide may be to anyone in particular is only vaguely defined, and its utility value is difficult to assess in a general manner. The work is not a tutorial in the broad sense, notwithstanding the availability of small examples: it claims a broad scope (the entire standard library), yet the depth of the explanatory material is uneven, generally shallow, and at times nonexistent. It is hardly a reference because much material (for example, detailed reporting of error handling behavior) is neglected. Also, if moving from pre-2011 libraries to the latest standards, this guide does not help with any indication of version availability, nor does it address the admittedly minor differences between 2011 and 2014 standards. Even as a concise reference work, it appears questionable. It may be a speedy cover-to-cover read as a reminder of what the modern standard library offers that one forgot (or did not know) it provided.

More reviews about this item: Amazon

Reviewer:  A. Squassabia Review #: CR144901 (1702-0085)
Bookmark and Share
  Reviewer Selected
Featured Reviewer
 
 
Software Libraries (D.2.2 ... )
 
 
C++ (D.3.2 ... )
 
 
Reference (A.2 )
 
Would you recommend this review?
yes
no
Other reviews under "Software Libraries": Date
Mixed language programming
Einarsson B., Gentleman W. Software--Practice & Experience 14(4): 383-392, 1984. Type: Article
May 1 1985
Programming solutions handbook for IBM microcomputers
Sanchez J., Canton M., McGraw-Hill, Inc., New York, NY, 1991. Type: Book (9780070545977)
Sep 1 1992
Design of an Ada library of elementary functions with error handling
Corliss G. Journal of Pascal, Ada & Modula-2 6(3): 17-31, 1987. Type: Article
Jul 1 1988
more...

E-Mail This Printer-Friendly
Send Your Comments
Contact Us
Reproduction in whole or in part without permission is prohibited.   Copyright 1999-2024 ThinkLoud®
Terms of Use
| Privacy Policy