Core2Quad777
@Core2Quad777

Стоит ли использовать типы данных из cstdint?

Использую С++ для олимпиадного программирования и задался вопросом, стоит ли все время использовать типы данных из cstdint? Бывает что компилятор у меня и компилятор тестируюещей системы по разному воспринимают стандартные типы данных, но типы данных из cstdint везде воспринимаются одинаково что позволяет отсечь ошибки из-за неверной интерпретации верного решения.
  • Вопрос задан
  • 128 просмотров
Пригласить эксперта
Ответы на вопрос 3
vabka
@vabka
Токсичный шарпист
Сам вопрос задал - сам и ответил.
Если твоя машина действительно твоя - ты можешь попробовать воспроизвести окружение как на тестовой машине организатора и проверять на нём, перед отправкой решения.
Ответ написан
Комментировать
@fivlabor
Обычно, в задачах по олимпиадному программировании условие составлено так, чтобы результат входил в 10^7.
Поэтому хватает стандартного int, который на большинстве современных платформ int32_t.
Редко бывает такое условие, что результат long.
Всё таки упор делается на алгоритмы, а не знание диапазонов целых типов.

А в промышленном программировании, особенно с микроконтроллерами, лучше явно указывать тип.
Ответ написан
Комментировать
@Mercury13
Программист на «си с крестами» и не только
Для олимпиадного программирования.
Если результат до 109 — то int.
Если до 1018 — то long long!
Long’ом лучше не пользоваться.
Можно также использовать int_fast32_t и int_fast64_t.
Но всё это ТОЛЬКО В СЛУЧАЕ, ЕСЛИ МЫ НЕ ЗАКЛАДЫВАЕМСЯ НА ПЕРЕПОЛНЕНИЕ.
Если закладываемся — тогда чёткие int32_t и int64_t, без разговоров.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы