Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Как ведет себя static переменная функции в многопоточной программе?
|
|||
|---|---|---|---|
|
#18+
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 бита. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.01.2018, 01:38 |
|
||
|
|

start [/forum/topic.php?fid=57&startmsg=39583828&tid=2018000]: |
0ms |
get settings: |
11ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
161ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
37ms |
get tp. blocked users: |
2ms |
| others: | 272ms |
| total: | 519ms |

| 0 / 0 |
