В C++ я могу объявить переменную либо как unsigned short, либо как unsigned char (с 2 байтами), как показано ниже. Однако есть ли отличия?
unsigned short p;
unsigned char q[2];
В C++ я могу объявить переменную либо как unsigned short, либо как unsigned char (с 2 байтами), как показано ниже. Однако есть ли отличия?
unsigned short p;
unsigned char q[2];
Отличия:
short
зависит от платформы.char
не имеет значимого порядка байтов.char
не может располагаться на одной из одних и тех же границ выравнивания. как short
.short
можно привести к массиву char
, чтобы его можно было оценить как массив байтов, но обратное не допускается.
short
не обязательно будет состоять из двух байтов или 16 бит. - person Some programmer dude   schedule 02.11.2017unsigned short
, и посмотрите, какой из них вам покажется самым простым. Тогда разница будет очевидна. - person underscore_d   schedule 02.11.2017