C plus plus characters are internally treated as integers why?
Because a character is an integer, not a real number. You
probably meant int rather than integer, but no implementations of
C++ treat a char as an int. All implementations are guaranteed to
evaluate sizeof(char) as being exactly 1 (byte). Moreover, a string
of 4 characters will occupy exactly 32-bits, not 128-bits (assuming
an int is 32-bits, which is entirely dependant upon the
implementation).
When processing single characters the CPU will treat them
according to the system's word length (which is 32 bits on a 32-bit
machine), but that has nothing to do with C++ treating a char as an
int, that's purely down to the architecture. After all, it's just
as quick to manipulate 32 bits as it is to manipulate 8 bits on a
32-bit system. On a 64-bit system, a single char will be treated as
if it were 64 bits long (8 bytes) for the same reason.