C++ Common Knowledge

When thinking about the almost 1,000 pages that make up Bjarne Stroustrup's "The C++ Programming Language" or the almost 800 pages of the official ISO C++ standard, it is hard to believe anyone can summarize all the essentials in only 272 pages. While it is always a bit subjective of what is considered *essential* for any given language, Stephen settled for 63 topics that he realized are amongst the most commonly misunderstood and most useful features of the C++ language.

These topics range from core language features and concepts to certain implementation techniques. Each topic is kept fairly short and simple to convey the essential information. Naturally, many of the topics relate to each other; however, it actually makes it a bit confusing at the same time—especially if future topics are referenced.

The book itself is written in an easy-to-read style and can easily be read over a weekend. Stephen purposely avoids getting too deep into particular topics on a technical level but rather strives for conveying the key-point, helping to keep the topics concise.

I essentially have only two complaints about the book: The first one is the focus on templates which takes up pretty much one third of the book. While it certainly contains useful information about one of the more advanced features of the C++ language, I do not think they are necessarily considered common knowledge. But again, judging whether a particular topic is common or not is somewhat subjective and therefore hard to argue.

The second one is that while for most of the topics the information presented is sufficient to deliver the key point, I wished for a little bit more depth on some of the topics. Both of my complaints are negligible though since they do not really decrease the value of the book.

Overall, the book is quite a nice read and certainly reminds the seasoned C++ developer of some of the common fundamentals and concepts that get easily forgotten over time. Beginners may be a bit overwhelmed with many of the topics though since they require a basic understanding of the language first.