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

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

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

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

РКН: https://gosuslugi.ru/snet/67a5bac324c8ba6dcaa1ad17
Download Telegram
🌀 Ranges: революция или переоценённая фича?

«Все эти pipe операторы и lazy evaluation выглядят круто в демо, но в реальных проектах я вижу только оверхед и нечитаемый код. Может быть, старые добрые STL алгоритмы были лучше? Или мы просто боимся изучать новое?»


😼А вы уже переписали свой production код на ranges?

Библиотека C/C++ разработчика
📰 Свеженькое из мира C++

Подготовили подборку самых интересных материалов за неделю о разных аспектах программирования и интересных проектах в мире C++.

👾 Интересное:

Три совета, как не выучить C++ за 21 день — советы по изучению C++
Стандартная библиотека C++ — это сплошные костыли и велосипеды, пора от неё избавиться? — критика стандартной библиотеки и способы реализации своей универсальной библиотеки
Реализация мониторинга ресурсов в Windows — пример реализации своего мониторинга ресурсов

😎 Полезное:

Сериализация с использованием концептов — использование концептов для безопасной сериализации
std::views::transform — универсальный способ трансформации элементов контейнеров

🖨️Интересные проекты:

ImHex — современный hex-редактор
cpp-httplib — кроссплатформенная header-only HTTP/HTTPS-библиотека реализованная на C++11
MLX — это фреймворк для машинного обучения на базе микросхем Apple Silicon

Библиотека C/C++ разработчика
2
Релиз easyoffer 2.0 — сайта по подготовке к IT собеседованиям!

Разработку проекта поддержали 1600 айтишников, а суммарно на запуск было собрано 5 млн. руб. через краудфандинг.

«Всё в одном» для тех, кто ищет работу в IT:
🟢Аналитика собесов на основе 4500+ реальных интервью
🟢Вопросы и задачи из собеседований с вероятностью встречи
🟢Примеры видео-ответов от Senior/Middle разработчиков
🟢Тренажеры для подготовки
🟢Автоотклики на вакансии и другое.

В честь релиза первые 500 пользователей получат скидку 60% на годовой PRO-доступ

Что нужно сделать:

🔔 Подпишитесь на Telegram-канал проекта
https://t.me/+UYkjii31QQozZjgy Там появится анонс релиза раньше, чем где-либо ещё. Вы успеете попасть в число первых 500 и получить максимальную выгоду.

Реклама. ИП Кивайко Алексей Викторович, ИНН 532121460552. Erid 2VtzqvmGkoZ
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥 Вы ещё можете застать старый добрый Proglib — с вечным доступом к курсам.

С 1 августа всё меняется: навсегда — останутся только те, кто успел купить сейчас.

-40% на все курсы. Включая обновлённый Python (кроме курса по AI-агентам)

Это не просто распродажа. Это — последняя точка входа в Proglib Academy по старым правилам.

📚 Выбрать и забрать свой курс навсегда → https://clc.to/TBtqYA
1
🏖️ Подборка вакансий для C++-разработчиков за неделю

Senior С++ Developer (KPHP) — от 300 000 и до 450 000 ₽ Удалёнка

Разработчик SIP-сервисов — от 350 000 и до 460 000 ₽ Удалёнка

Programmer C++ — 185 000 ₽ Гибрид (Санкт-Петербург)

Developer C++ (KasperskyOS, System services & drivers) — 190 000 ₽ Удалёнка

Библиотека C/C++ разработчика
std::chrono — работа со временем

Используете time_t и clock() для измерения времени?


std::chrono в C++11 предоставляет типобезопасную работу со временем. Высокая точность, читаемый код и портабельность.

👉 Подключение:

#include <chrono>
using namespace std::chrono;


💡 Примеры использования:

auto start = high_resolution_clock::now();
expensive_operation();
auto end = high_resolution_clock::now();

auto duration = duration_cast<milliseconds>(end - start);
std::cout << "Operation took: " << duration.count() << "ms" << std::endl;


std::this_thread::sleep_for(seconds(2));         // Спать 2 секунды
std::this_thread::sleep_for(milliseconds(500)); // Спать 500 мс
std::this_thread::sleep_for(2s); // C++14 literals


Основные типы:
— duration для промежутков времени
— time_point для моментов времени
— clock для источников времени

Часы (clocks):
— system_clock системное время
— steady_clock монотонное время
— high_resolution_clock наивысшая точность

Единицы времени:
— nanoseconds, microseconds, milliseconds
— seconds, minutes, hours
— Пользовательские единицы

Библиотека C/C++ разработчика #буст
🔥11
This media is not supported in your browser
VIEW IN TELEGRAM
C++ Zero Cost Conf — 2 августа Яндекс проведет прикладную конференцию для C++ специалистов.

Присоединяйтесь онлайн (Москва/Белград) или офлайн (Москва, СПб, Белград), чтобы послушать о реальных кейсах от практикующих C++ разработчиков.

В программе докладов:
C++20 Модули — практическое внедрение. Антон Полухин (Яндекс) разберет, как использовать C++20 модули в больших существующих проектах с поддержкой старых стандартов на примерах Boost, libstdc++ и libc++.
Hardening: текущий статус и перспективы развития. Роман Русяев и Юрий Грибов (Huawei) расскажут о средствах защиты критического ПО от UB в проде, их эффективности и влиянии на развитие C++.
i, j, k и шаблоны: вспоминаем линейную алгебру вместе с Ваней Ходором (Яндекс).

Зарегистрироваться и посмотреть полную программу выступлений можно на сайте.
2
🧨 C++26 улучшает форматирование чисел

«Почему std::to_string выводит -0.000000 вместо -1e-7? И как C++26 это исправляет!» — такие вопросы часто возникают у разработчиков, работающих с форматированием чисел в C++.


💡 В статье рассматриваются ключевые улучшения std::format в C++26, которые делают работу с форматированием более безопасной, удобной и предсказуемой.

Ключевые моменты статьи:

• Замена sprintf на std::format в std::to_string для более точного вывода чисел;
• Компиляция проверок типов в std::format, что уменьшает количество runtime-ошибок;
• Новые возможности форматирования указателей, включая нулевое заполнение и выбор регистра.

Основной фокус — на практических улучшениях, которые уже доступны в GCC, Clang и MSVC, и их влиянии на существующий код.

Особенно актуально для C++ разработчиков, которые работают с форматированием строк, выводом данных или оптимизацией производительности.

Вы узнаете, как простые изменения в C++26 могут сэкономить ваше время и избавить от скрытых багов, связанных с локалями и неочевидным поведением старых функций. И это только первая часть обновлений — впереди ещё больше улучшений!

👉 Статья


Библиотека C/C++ разработчика
🤩21🙏1