powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Как ведет себя static переменная функции в многопоточной программе?
2 сообщений из 27, страница 2 из 2
Как ведет себя static переменная функции в многопоточной программе?
    #39583828
Вася Уткин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AlekseySQLВася УткинДа, uint64_t, ... - ввели для четкого понимания его размера, для бинарной совместимости и надежности кода.
Когда используют short, int, long, long long ... - то оттестировав на одной архитектуре, потом ловят баги переполнения на другой.
Когда я точно знаю, что там значения будут очень мелкими, то использую int.

Ок, а в таком случае можно гарантировать минимальное / максимальное значение хранимое в этих типах? Или это получается как принцип Гейзенберга: либо гарантируем размер на диске (*_t типы), либо гарантируем размер хранимого значения (обычные типы из С), а одновременно дать обе гарантии нельзя?
Типы int32_t, uint64_t, ... - гарантируют и четкий размер в битах, и четкий диапазон значений и точности.
Типы short, int, ... - гарантируют только минимальный размер в битах и минимальный диапазон значений, но они могут быть и больше.

Как правильно было процитировано:
Dima TПроблема в том что обычные типы гарантируют минимально-возможное значение
https://ru.wikipedia.org/wiki/Типы_данных_в_C Реальный размер целочисленных типов зависит от реализации. Стандарт лишь оговаривает отношения в размерах между типами и минимальные рамки для каждого типа:

Так long long не должен быть меньше long, который в свою очередь не должен быть меньше int, который в свою очередь не должен быть меньше short. Так как char — наименьший из возможных адресуемых типов, другие типы не могут иметь размер меньше него.

Минимальный размер для char — 8 бит, для short и int — 16 бит, для long — 32 бита, для long long — 64 бита.

Желательно, чтобы тип int был таким целочисленным типом, с которым наиболее эффективно работает процессор. Это позволяет достигать высокой гибкости, например, все типы могут занимать 64 бита. Однако, есть популярные схемы, описывающие размеры целочисленных типов.[7]

На практике это означает, что char занимает 8 бит, а short 16 бит (также, как и их беззнаковые аналоги). int на большинстве современных платформ занимает 32 бита, а long long 64 бита. Длина long варьируется: для Windows это 32 бита, для UNIX-подобных систем — 64 бита.
...
Рейтинг: 0 / 0
Как ведет себя static переменная функции в многопоточной программе?
    #39584200
AlekseySQL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вася Уткин, Спасибо!
...
Рейтинг: 0 / 0
2 сообщений из 27, страница 2 из 2
Форумы / C++ [игнор отключен] [закрыт для гостей] / Как ведет себя static переменная функции в многопоточной программе?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]