Purely as additional information (not really a direct answer to the question) I'd note that to specify the type of a character or string literal, you use a prefix (e.g., L"wide string"), whereas with a numeric literal you use a suffix (e.g., 2L or 3.5f).
C++0x adds quite a few more of both prefixes and suffixes to specify more data types (e.g., there are currently only narrow and wide string literals, but C++0x will have narrow, wide, Unicode, raw, and probably at least a couple more I can't think of at the moment). It also adds user-defined literals that let you define your own suffixes, so something like 150km
could be used to create a distance
object, or "127.0.0.1"ip
to create an IP_address
object.