There was a lengthy discussion a while back about this, see
Basically, C++ offloads a lot of the work to compile-time optimisations + the use of bitfields