Модели данных

Рассмотрим С++ код: std::cout << sizeof(int); Что он выведет?

Правильный ответ - это Implementation defined код, то есть код, результат выполнения которого зависит от среды, в которой он выполняется (а именно от модели данных)

Модель данных

Под моделью данных следует понимать соотношения размерностей типов, принятых в рамках среды разработки. Для одной операционной системы могут существовать несколько средств разработки, придерживающихся разных моделей данных. Но обычно преобладает только одна модель, наиболее соответствующая аппаратной и программной среде.

Примеры моделей данных

LP64 (используется в большинстве UNIX систем) -- модель данных, в которой типы LONG, LONG LONG и тип указателя занимают 64 бита

LLP64 (используется в Windows64) -- модель данных, в которой типы LONG занимает 32 бита, а LONG LONG и тип указателя занимают 64 бита

Таблица содержит список основных моделей данных

Почему стандарт языка С++ не определяет точный размер типов int, long ?

С используется в программах, где критически важна производительность (ПО для ракет, самолетов, биржевые роботы, где нужно максимально быстро принимать решение), С работает на разных архитектурах

С++ использует размеры типов (модели данных) систем на которых выполняется для достижения максимальной производительности (скорости работы).

А если Вам нужны целочисленные типы фиксированного размера, то используйте библиотеку <cstdint> https://en.cppreference.com/w/cpp/header/cstdint

Модели данных | Сетка — новая социальная сеть от hh.ru
repost

450

input message

напишите коммент

· 21.06

Интересно, найдется тут хотя бы кто-то имеющий доступ к системе с int отличным от 32 бит?

ответить

26.07

Ну ок, кроме меня.

ответить

еще контент автора

Привет... читать далее
Привет  
В последнее время мне приходилось несколько раз валидировать .yaml файлы и преобразовывать их в питоновский объект
Написал шаблон https://github | Сетка — новая социальная сеть от hh.ru Привет  
В последнее время мне приходилось несколько раз валидировать .yaml файлы и преобразовывать их в питоновский объект
Написал шаблон https://github | Сетка — новая социальная сеть от hh.ru
repost

82

input message

напишите коммент

Привет Написал шаблон проекта FastAPI + SqlAlchemy +... читать далее
Привет 
Написал шаблон проекта FastAPI + SqlAlchemy + Alembic + Docker -- https://github | Сетка — новая социальная сеть от hh.ru
repost

62

input message

напишите коммент

Что выведет код на С++? Особенности работы ссылок

Рассмотрим код. Создается переменная типа int. Далее создается ссылка типа char на переменную i. Но есть... читать далее
Что выведет код на С?
Особенности работы ссылок | Сетка — новая социальная сеть от hh.ru
repost

288

input message

напишите коммент

Виртуальная память в Linux

Объем оперативной памяти компьютера ограничен. Возникают ситуации, когда процесс запрашивает больше памяти, чем есть... читать далее
Виртуальная память в Linux | Сетка — новая социальная сеть от hh.ru
repost

256

input message

напишите коммент

Dead lock

Самая известная проблема многопоточности - это Dead Lock (ситуация, когда 2 или более процесса находятся в состоянии... читать далее
Dead lock | Сетка — новая социальная сеть от hh.ru Dead lock | Сетка — новая социальная сеть от hh.ru
repost

556

input message

напишите коммент

еще контент автора

войдите, чтобы увидеть

и подписаться на интересных профи

в приложении больше возможностей

пока в веб-версии есть не всё — мы вовсю работаем над ней

сетка — cоциальная сеть для нетворкинга от hh.ru

пересекайтесь с теми, кто повлияет на ваш профессиональный путь