My book "The New C Standard: An economic and cultural commentary" includes a complete analysis of differences between C and C++ from the C point of view (every sentence in the C Standard, excluding library, has been discussed and matched with a corresponding sentence(s) in the C++ Standard).
There is also a significant amount of discussion on coding guidelines which will also be applicable to C++.
The complete book is available as a freely downloadable pdf (8M byte). You can download a copy from one of:
Other book material, and some subsets of it (including just the usage subsections, plus other figures and table), can be found at:
Those of you wanting to search for material in the C Standard will be interested in checking out (at least you will be once google gets around to indexing it):
You can get the background here:
This book contains a detailed analysis of the International Standard for the C language, excluding the library from a number of perspectives. The organization of the material is unusual in that it is based on the actual text of the published C Standard. The unit of discussion is the individual sentences from the C Standard (2022 of them)
Readers are assumed to have more than a passing familiarity with C.
My involvement with C started in 1988 with the implementation of a C to Pascal translator (written in Pascal). In 1991 my company was one of the three companies that were joint first, in the world, in having their C compiler formally validated. My involvement with the world of international standards started in 1988 when I represented the UK at a WG14 meeting in Seattle. I continued to head the UK delegation at WG14 meetings for another six years before taking more of a back seat role.
Having never worked on a C++ compiler or spent a significant amount of time studying C++ my view on this language has to be considered as a C only one. While I am a member of the UK C++ panel I rarely attend meetings and have only been to one ISO C++ Standard meeting.
There is a close association between C and C++ and the aim of this subsection is the same as the C90 one: document the differences.
The choice of other languages to discuss has been driven by those languages in common use today (e.g., Java), languages whose behavior for particular constructs is very different from C (e.g., Perl or APL), and languages that might be said to have been an early influence on the design of C (mostly BCPL and Algol 68).
The discussion in these subsections is also likely to have been influenced by my own knowledge and biases. Writing a compiler for a language is the only way to get to know it in depth and while I have many used other languages I can only claim to have expertise in a few of them. Prior to working with C I had worked on compilers and source code analyzers for Algol 60, Coral 66, Snobol 4, CHILL, and Pascal. All of these languages might be labeled as imperative 3GLs. Since starting work with C the only other languages I have been involved in at the professional compiler writer level are Cobol and SQL.