I know that the C++ standard explicitly guarantees the size of only char, signed char and unsigned char. Also it gives guarantees that
char
signed char
unsigned char
Be aware that the guaranteed ranges of these types are one less wide than on most machines:
signed char -127 ... +127 guranteed but most twos complement machines have -128 ... + 127
Likewise for the larger types.