The history of C++ is described by Stroustrup in a paper from the HoPL II (History of Programming Languages II) conference which you can read here. That paper was subsequently extended to a full length book: 'The Design and Evolution of C++', Bjarne Stroustrup; Addison Wesley; 1994 ISBN 0-201-54330-3.
A notable of feature of C++ is it's ongoing evolution. Commercial and free compilers for C++ have at various points in its history both lagged and led the standardisation efforts which can lead to a lot of confusion.
Broadly, at the time of writing (October 2006) there are seven generations of C++.
This version is described in 'The C++ programming Language', Bjarne Stroustrup; Addison Wesley; 1986 ISBN 0-210-12078-X.
[1991: Cfront Release 3.0]
The third release
incorporated features from the ARM, including templates for generic
programming and exception handling.
This version is described in 'The C++ programming Language, second edition', Bjarne Stroustrup; Addison Wesley; 1991 ISBN 0-210-53992-6.
This version is described in 'The C++ programming Language (Special Edition)', Bjarne Stroustrup; Addison Wesley; 2000 ISBN 0-201-70073-5 and in 'The C++ programming Language (Third Edition)', Bjarne Stroustrup; Addison Wesley; 1997 ISBN 0-201-88954-4. The 'Special Edition' is hardbound and contains two extra appendices and a large number of typographical fixes.
This is the grammar from Annex A of the 1997 public review document. Since this draft was unanimously accepted, we believe that it is the same grammar as in the actual standard, but we have not yet checked against an official copy.
ansi_cpp_prd97.raw raw grammar from
the typeset document
ansi_cpp_prd97.gex grammar
rules extracted using gramex V1.2
The main output so far has been 'Technical Report 1' which concerns proposed extensions to the library, which include regular expressions, safe pointers and better random number generation facilities.
This is the grammar from Annex A of the 2005 draft standard.
ansi_cpp_draft_2005.raw raw grammar from
the typeset document
ansi_cpp_draft_2005.gex grammar
rules extracted using gramex V1.2
This is the grammar from Annex A of the 2006 draft standard.
ansi_cpp_draft_2006.raw raw grammar from
the typeset document
ansi_cpp_draft_2006.gex grammar
rules extracted using gramex V1.2