TGViewer
Senior C++ Developer Senior C++ Developer @seniorcpp · 11.6K subscribers
Post #3079 1.92K
Общие хитрости для C++

Никогда не используйте INT_MAX в качестве бесконечности для целых чисел. В некоторых алгоритмах, например, Флойда–Уоршелла, используются значения вроде ∞+w, что приведёт к переполнению при использовании INT_MAX. Вместо этого лучше использовать int oo = 0x3f3f3f3f, поскольку:
• Это число достаточно большое для задач, связанных с целыми числами;
• 2 * oo не приведёт к переполнению;
• Все байты равны, поэтому вы без проблем можете использовать memset(array, oo, sizeof(array));
• Его довольно легко запомнить.

Однако будьте осторожны: не используйте 0x3f3f3f3f для long long, так как в таком случае фокус уже не пройдёт, и вы потом потратите кучу времени на поиск ошибки.
More from @seniorcpp
  1. Oct 5, 2026#вопросы_с_собеседований В чем отличие vector от deque? Ответ: Здесь вспоминают о наличии…
  2. Oct 4, 2026Избавляемся от макросов В целом, разработчики стандарта стараются исключить препроцессор.…
  3. Oct 1, 2026malloc стал безопасен В предыдущих версиях использование низкоуровневых функций, унаследов…
  4. Sep 30, 2026Алгоритм copy_n Используется для копирования элементов из одного контейнера в другой.
  5. Sep 28, 2026Упрощаем код с помощью if constexpr и концептов C++17/C++20 Смотреть статью
  6. Sep 27, 2026#вопросы_с_собеседований Как следует обрабатывать ошибки во время выполнения в C++? — Ошиб…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →