Yes, I know, but it is impossible to put the whole 2003 norm document in a quick reference of the same size. There are many ingredients of C++ which were simply ignored since they aren't crucial. I bought many books (I have -or-read- all the classics) and none is nearly complete in terms of syntax.
What I wrote is just the essential. How many people you know using .cp as extension?
C++0x is mostly ignored (well, the auto keyword is there) since I was expecting for someone to help me.
As for the Standard Library, another document must be written.
I agree, just checked the widely available facsimile of the C++03 standard and already uploaded the modified text.
As for .hpp, Stroustrup's TC++PL 3ed states that (pp 201-202)
Header files are conventionally suffixed by .h, and files containing function or data definitions are suffixed by .c. They are therefore often referred to as ‘‘.h files’’ and ‘‘.c files,’’ respectively. Other conventions, such as .C, .cxx, .cpp, and .cc, are also found. The manual for your compiler will be quite specific about this issue.
In section 1.1, the notation for options and the examples provided seem ambiguous. I don't think you meant that
is a valid replacement for
const <T> <var>=<expr>|(<expr>)
and I think you meant to write "const" before each of the expressions in the example, but aside from that, there remains ambiguity as to how much of the LHS of the '|' is included in the "optional part" so I think the entire '|'-separated option list should be enclosed in a pair of brackets.
For example, I can take that to mean that
const int x = y
may be replaced by
const int x = (y)
const int x(y)
const int (x)