Библиотека C/C++ разработчика | cpp, boost, qt
19.9K subscribers
1.89K photos
55 videos
16 files
4.11K links
Все самое полезное для плюсовика и сишника в одном канале.

По рекламе: @proglib_adv

Учиться у нас: https://proglib.io/w/d6cd2932

Для обратной связи: @proglibrary_feeedback_bot

РКН: https://gosuslugi.ru/snet/67a5bac324c8ba6dcaa1ad17
Download Telegram
🤖 Красивое резюме = провал

Представь: ты опытный разработчик, знаешь стек как свои пять пальцев. Отправляешь резюме — а в ответ тишина. Проблема не в тебе — просто ATS не увидела нужные ключевые слова или не смогла распарсить твое красивое резюме с инфографикой.

Рассказываем, как устроены эти системы, какие из них используют российские и зарубежные IT-компании, и главное — как адаптировать резюме, чтобы робот тебя пропустил.

👉 Читать статью

🐸 Библиотека мобильного разработчика

#MadeInProglib
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍1
Надоело ломать master случайным пушем? Есть решение. 😉

Разработчики на C/C++ оценят: SourceCraft не только поддерживает автодополнение и умную навигацию для плюсов, но и добавил фичи для безопасной разработки. Например, сканирование уязвимостей и секретов прямо при написании кода. 🛡️

А ещё у них есть «политики веток», которые защищают master от случайных коммитов — то, чего часто не хватает опенсорсным репозиториям. Интеграция с GitHub Actions и Yandex Cloud упрощает сборку и деплой C++-проектов. Похоже, можно немного выдохнуть за стабильность релизов. 👍
2👍2
🍿 std::partition — Разделение данных по условию

🔥 Проблема:

Разработчикам часто нужно разделить коллекцию на две группы: элементы, удовлетворяющие условию, и остальные. Ручная реализация требует дополнительных контейнеров или сложной логики с несколькими проходами по данным.


💡Решение:

Алгоритм std::partition переупорядочивает элементы так, что все удовлетворяющие предикату оказываются в начале. Возвращает итератор на границу разделения.


✏️ Пример кода:

#include <algorithm>
#include <vector>

std::vector<int> numbers = {1, 5, 2, 8, 3, 9, 4, 7, 6};

// Разделяем на четные и нечетные
auto boundary = std::partition(numbers.begin(), numbers.end(),
[](int n) {
return n % 2 == 0; // Четные в начало
}
);

// Теперь numbers = {6, 4, 2, 8, 3, 9, 5, 7, 1}
// boundary указывает на первый нечетный элемент

// Обрабатываем только четные числа
for (auto it = numbers.begin(); it != boundary; ++it) {
*it *= 2; // Удваиваем четные
}



🍨 Преимущества:

• Эффективность: работает in-place без дополнительной памяти O(1)
• Скорость: линейная сложность O(n) за один проход
• Стабильность: существует std::stable_partition для сохранения порядка
• Универсальность: подходит для любых типов данных с произвольным предикатом


Библиотека C/C++ разработчика

#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥11👍3