Hmm, first let me say thanks for shedding some light.
Now, at the risk of being flayed alive, why does C have a standard 64 bit
type but C++ doesn't?
Ron Natalie already answered that question; the C++ standard predates
the C99 standard by a year.
The latest C standard is more recent. It is unsure if all the additions
made to the C language will also be included in the next revision of the
C++ standard. Though I see no reason why a 64-bit integer support
wouldn't be in the next revision of the C++ standard.
It seems that the C++ standard
to which most of you refer is dated 5 yeasr a go... which is the software
equivalent of a geological era.
The latest C standard is from 4 years ago, the difference is not that
big to me.
I've been using C++ since Microsoft C 7
which must be, what 1990 (feels like a geological era a go now)?
Unfortunately C++ wasn't standardized at that time.
Considering
that we're on the verge of using 64-bit machines, doesn't the lack of a
standard 64 bit type in C++ suggest that something's rotten in Denmark?
What's wrong here; the language or the standards bodies?
Neither. As far as the language is concerned there is no fundamental
reason why a 64-bit integer couldn't be added to C++ (the fact that many
compilers already support this, proves my point). As far as the standard
is concerned keep in mind that the previous C standard was finalized in
1989, i.e. it took about 10 years for the second revision to arrive.
Only recently (five years after the C++ standard was finalized) C++
compilers have appeared on the market that are fully compliant or at
least very close to being compliant with the C++ standard. Considering
that, it doesn't make sense to update the standard every other year. If
a standard becomes a moving target, it defeats the purpose of having a
standard in the first place as there will be no products to support the
standard. The standardization comitees have find a compromize between
the standard on one side being stable enough be able to serve as a
reference point, and on the other side being updated frequently enough
to prevent it from becoming obsolete.
That being said I would like to see some of the C99 additions in the C++
standard as well, sooner rather than later.