Когда шаблон должен работать только с определёнными типами, лучше явно указать это — чтобы избежать путаницы и ошибок. Для этого можно использовать
std::enable_if
, а лучше — современные концепты из C++20.Основные моменты:
• enable_if — старый, но всё ещё рабочий способ
• Концепты — читаемый и мощный инструмент C++20
• Можно задавать свои концепты, описывая нужные операции
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥28🤝8👍6
DFS — это алгоритм, который начинает с вершины и идёт по соседям, пока можно, углубляясь всё дальше. Когда путей больше нет — возвращается назад и ищет другие варианты.
Основные моменты:
• Простая реализация через рекурсию
• Работает быстро: O(число вершин + число рёбер)
• Используется для поиска изолированных групп (компонент)
🔥 — если узнал что-то новое
🤝 — если уже применял DFS
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥18👍11🤝7
👍14🔥6🤝1
В этой статье:
• Настройка ClientSocket и ServerSocket для подключения клиентов
• Обработка и отправка сообщений с кодами и буферизацией
• Функции онлайн-списка и маршрутизации сообщений
🟡 Рекомендую прочитать на Habr!
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9🔥8🤝5👎1😁1
С ним не нужно использовать nullptr, городить флаги и проверять "а точно ли там что-то есть?". Всё видно и управляется напрямую.
Полезен в API, парсинге, конфигурациях — везде, где значение не всегда есть.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥28🤝9👍4
BFS (обход в ширину) — это алгоритм, который исследует граф слоями: сначала все вершины на расстоянии 1, затем 2, и так далее. Работает через очередь и гарантирует нахождение кратчайшего пути в невзвешенных графах.
Ключевые моменты:
• BFS идёт «вширь» — уровень за уровнем
• Использует очередь для управления порядком обхода
• Находит кратчайшие пути в невзвешенных графах
🔥 — если понял суть
🤝 — если уже использовал
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🤝13🔥12👍6
🔥11👍4