Re: размер встроенных типов зависит от платформы
От: Андрей Тарасевич Беларусь  
Дата: 29.01.22 06:29
Оценка: 3 (1) +2 -1
Здравствуйте, maks1180, Вы писали:

M>Почему встроенные типы зависят от платформы ?


Так устроены языки С и С++.

Во-первых, изначальная идея заключалась в том, что тип `int` будет фокальной точкой системы целочисленных типов этих языков и его размер будет совпадать с размером наиболее эффективно поддерживаемого целочисленного типа данной платофрмы, т.е. фактически совпадать с размером слова данной платформы. Ясно, что размер слова может быть разным на разных платформах, что и подразумевает отличия в натуральных размерах типов.

Как вы все знаете, эта здравая идея потом разбилась о рифы глупой и ленивой идеи "бинарной совместимости", в результате чего тип `int` сегодня является 32-битным даже на платформах с 64-битным словом.

Во-вторых, идея заранее заданного фиксированного рзамера каждого типа нежизнеспособна уже потому, что не все платформы поддерживают все размеры. Понимание этого факта и сегодня выливается в то, что библиотечные типы фиксированных размеров, вроде `int16_t`, являются лишь опционально поддерживаемыми.
Best regards,
Андрей Тарасевич
Отредактировано 29.01.2022 6:37 Андрей Тарасевич . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.