Веб-версияОткрыть в Telegram

ПостСравниваем два списка файлов на C++!

25 сентября 2026
C
C/C++ Ready | Программирование
Сравниваем два списка файлов на C++! Допустим, есть ожидаемый список файлов релиза и список того, что реально попало в папку. Нужно быстро понять, какие файлы отсутствуют, не проходя вручную по каждому имени. Для этого удобно использовать std::ranges::set_difference. Алгоритм работает с отсортированными диапазонами и сразу возвращает элементы, которые есть в первом списке, но отсутствуют во втором. std::vector<std::string> expected = {"app", "config", "readme"}; std::vector<std::string> actual = {"app", "readme"}; Сначала приводим оба списка к одному порядку. Это важно, потому что set_difference не сортирует данные самостоятельно. std::ranges::sort(expected); std::ranges::sort(actual); Теперь создаём контейнер для результата и передаём в него элементы, которые не нашлись во втором диапазоне. std::vector<std::string> missing; std::ranges::set_difference(expected, actual, std::back_inserter(missing)); В missing останется только config. Так же можно искать лишние файлы, поменяв expected и actual местами. for (const auto& name : missing) { std::cout << "Missing: " << name << '\n'; } Этот приём подходит для проверки состава релиза, конфигураций, прав доступа и любых двух наборов строк. Главное помнить про сортировку и не хранить дубликаты там, где они не имеют смысла. 📣 C++ Ready | #практика
11 · 2.8K ·

Рядом в ленте

CC/C++ Ready | ПрограммированиеПочему std::move иногда вообще ничего не двигает? std::move не перемещает объект сам по себе. Он только превращает выражение в rvalue-ссылку, чтобы компилятор мCC/C++ Ready | ПрограммированиеШпаргалка по форматированию через библиотеку fmt! На картинке собраны плейсхолдеры, именованные аргументы, выравнивание, ширина поля, точность, форматы чисел, с
это сообщение
CC/C++ Ready | ПрограммированиеФотографияCC/C++ Ready | ПрограммированиеСчитаем медиану потока чисел на C++! Представьте, что значения приходят постоянно, а медиану нужно знать после каждого нового числа. Полная сортировка на каждом
CC/C++ Ready | ПрограммированиеC/C++ Ready | Программирование@cpp_ready · канал · Технологии
15 601подписчиков2 266средний охват поста
Лента площадки Открыть в Telegram

Открытая публичная лента из поискового индекса ChatCrawler — «Google по публичному Telegram»; обновляется по мере обхода площадки. Время — UTC.

Только публичный контент, официальный API Telegram. О проекте · Вопросы · Чего мы не делаем · Убрать страницу из выдачи · Каталог · Поиск · Как мы считаем