Type specifiers are used throughout C++: in declarations, type casts,
new expressions, and so on. Although the syntax
rules shown here are quite flexible, the semantic rules impose many
limits. For example, the simple syntax rules permit
shortlong as a type
(specifically, as a decl-specifier-seq; see
declaration), but that combination of type
specifiers is not permitted. See Chapter 2 for
details about semantics for valid type specifiers.