I stay pretty far away from C++ but I recognize the issues you describe
and can understand your concern. Bringing C++ "back into sync" with
C99 has been discussed for quite some time and it looks like the C++
committee might be addressing these issues. In the December 2005 issue
of the C/C++ Users Journal P.J. Plauger mentions that the next version
of C++ will include at least some features introduced in C99 including
long long integers and all of the C99 preprocessor features. I don't
know what else needs to be done to meet the needs of those in your
position or what else is being addressed to do so but if you ask over
in comp.std.c++ you will probably get a better picture of what is being
done.
Right. The C++ committee has been a bit more accommodating of C
in recent years (and the C committee has been repaying the
compliment). On the library side, C++ has approved TR19768
(a.k.a. Library TR1) which include *all* of the C99 additions
to the Standard C library, plus glue code to reconcile
differences between the two forms of complex, etc. Dinkumware
has been shipping such a merged library for three years now.
While TR1 is not normative, it's likely to be widely adopted,
and it'll certainly serve as a proving ground for library
additions to C++0X, the next major revision of C++ currently
being developed.
On the language side, C++0X already has the language features
you cite from C99. The remaining features were triaged at
the Mt. Tremblant meeting in September. Things like variable
length arrays are not likely to be picked up, but other
features will get serious consideration.
HTH,
P.J. Plauger
Dinkumware, Ltd.
http://www.dinkumware.com