Всегда ли это утверждение верно?
assert(sizeof(int) != sizeof(long))
Ответы (2 шт):
Автор решения: gbg
→ Ссылка
Стандарт языка такой радости не гарантирует.
Пользуйтесь стандартыми типами с фиксированной длиной - int32_t, например.
Автор решения: AlexGlebe
→ Ссылка
Стандарт говорит только про минимальную длину типов :
Type Minimum bit width N
signed char 8
short int 16
int 16
long int 32
long long int 64
А реальные размеры типов это уже на усмотрение реализации. Например, sizeof(int)*8 == 32 вполне может быть равен sizeof(long int)*8 == 32.