ch
Feedback
Библиотека C/C++ разработчика | cpp, boost, qt

Библиотека C/C++ разработчика | cpp, boost, qt

前往频道在 Telegram

Все самое полезное для плюсовика и сишника в одном канале. По рекламе: @proglib_adv Учиться у нас: https://proglib.io/w/d6cd2932 Для обратной связи: @proglibrary_feeedback_bot РКН: https://gosuslugi.ru/snet/67a5bac324c8ba6dcaa1ad17

显示更多
2025 年数字统计snowflakes fon
card fon
19 531
订阅者
-724 小时
-417
-18530
帖子存档
照片不可用在 Telegram 中显示
#развлекалово
显示全部...
😁 19🥰 3
✏️ Промпт дня: Улучшение обработки ошибок Обработка ошибок — один из самых критичных аспектов разработки на C++. Неправильная обработка исключений может привести к утечкам памяти, неопределенному поведению и краху приложения. ☀️ Решение с помощью AI Для улучшения системы обработки ошибок в вашем коде используйте следующий промпт:
How can I improve the error handling in my C++ code? [ВАШ КОД]
🧋 Пример трансформации До:
int divide(int a, int b) {
    return a / b;  // Деление на ноль = краш
}

std::vector<int> readFile(const std::string& filename) {
    std::ifstream file(filename);
    std::vector<int> data;
    int value;
    while (file >> value) {
        data.push_back(value);
    }
    return data;  // Что если файл не открылся?
}
После (с улучшенной обработкой ошибок):
#include <stdexcept>
#include <optional>

std::optional<int> divide(int a, int b) {
    if (b == 0) {
        return std::nullopt;
    }
    return a / b;
}

std::vector<int> readFile(const std::string& filename) {
    std::ifstream file(filename);
    if (!file.is_open()) {
        throw std::runtime_error("Cannot open file: " + filename);
    }
    
    std::vector<int> data;
    int value;
    while (file >> value) {
        data.push_back(value);
    }
    
    if (file.bad()) {
        throw std::runtime_error("Error reading file: " + filename);
    }
    
    return data;
}
✏️ Как часто в вашем коде встречаются необработанные ошибки? Пишите в комментариях.
显示全部...
👍 3 1🤔 1
🧨 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++ разработчика
显示全部...
🤩 3 1🙏 1
00:06
视频不可用在 Telegram 中显示
C++ Zero Cost Conf — 2 августа Яндекс проведет прикладную конференцию для C++ специалистов. Присоединяйтесь онлайн (Москва/Белград) или офлайн (Москва, СПб, Белград), чтобы послушать о реальных кейсах от практикующих C++ разработчиков. В программе докладов: — C++20 Модули — практическое внедрение. Антон Полухин (Яндекс) разберет, как использовать C++20 модули в больших существующих проектах с поддержкой старых стандартов на примерах Boost, libstdc++ и libc++. — Hardening: текущий статус и перспективы развития. Роман Русяев и Юрий Грибов (Huawei) расскажут о средствах защиты критического ПО от UB в проде, их эффективности и влиянии на развитие C++. — i, j, k и шаблоны: вспоминаем линейную алгебру вместе с Ваней Ходором (Яндекс). Зарегистрироваться и посмотреть полную программу выступлений можно на сайте.
显示全部...
IMG_8485.MP42.15 MB
5👍 2👏 2
照片不可用在 Telegram 中显示
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
🏖️ Подборка вакансий для 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++ разработчика
显示全部...
照片不可用在 Telegram 中显示
🔥 Вы ещё можете застать старый добрый Proglib — с вечным доступом к курсам. С 1 августа всё меняется: навсегда — останутся только те, кто успел купить сейчас. -40% на все курсы. Включая обновлённый Python (кроме курса по AI-агентам) Это не просто распродажа. Это — последняя точка входа в Proglib Academy по старым правилам. 📚 Выбрать и забрать свой курс навсегда → https://clc.to/TBtqYA
显示全部...
1
Repost from TgId: 1940255915
Что выведет программа?Anonymous voting
  • Timer created Widget created
  • Timer created
  • Widget created
  • Ничего не выведет
  • Ошибка компиляции
0 votes
😢 12👾 7 3😁 2 1
照片不可用在 Telegram 中显示
Релиз easyoffer 2.0 — сайта по подготовке к IT собеседованиям! Разработку проекта поддержали 1600 айтишников, а суммарно на запуск было собрано 5 млн. руб. через краудфандинг. «Всё в одном» для тех, кто ищет работу в IT: 🟢Аналитика собесов на основе 4500+ реальных интервью 🟢Вопросы и задачи из собеседований с вероятностью встречи 🟢Примеры видео-ответов от Senior/Middle разработчиков 🟢Тренажеры для подготовки 🟢Автоотклики на вакансии и другое. В честь релиза первые 500 пользователей получат скидку 60% на годовой PRO-доступ ⚠ Что нужно сделать: 🔔 Подпишитесь на Telegram-канал проекта https://t.me/+UYkjii31QQozZjgy Там появится анонс релиза раньше, чем где-либо ещё. Вы успеете попасть в число первых 500 и получить максимальную выгоду. Реклама. ИП Кивайко Алексей Викторович, ИНН 532121460552. Erid 2VtzqvmGkoZ
显示全部...
照片不可用在 Telegram 中显示
📰 Свеженькое из мира 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
Что выведет программа?Anonymous voting
  • 42 1
  • 0 0
  • 0 1
  • 42 0
  • Исключение
0 votes
照片不可用在 Telegram 中显示
🌀 Ranges: революция или переоценённая фича?
«Все эти pipe операторы и lazy evaluation выглядят круто в демо, но в реальных проектах я вижу только оверхед и нечитаемый код. Может быть, старые добрые STL алгоритмы были лучше? Или мы просто боимся изучать новое?»
😼А вы уже переписали свой production код на ranges? Библиотека C/C++ разработчика
显示全部...
🔥 Знакомьтесь, преподаватель нашего нового курса по ML — Мария Жарова. В карточках рассказали, чем Мария занимается и какие советы даёт тем, кто хочет расти в IT и Data Science ☝️ А если вы уже поняли, что тянуть нечего, начните свой путь в ML правильно: с реальной практикой, поддержкой ментора и видимым результатом. 👉 Записывайтесь на курс
显示全部...
❤‍🔥 1
照片不可用在 Telegram 中显示
显示全部...
😢 8🥱 5 2👍 1🌚 1
照片不可用在 Telegram 中显示
🧨 Реализация мониторинга ресурсов в Windows
Хотел бы в Windows что-то похожее на Polybar из Linux, но готовых решений нет...
💡 Автор статьи решил не искать готовые аналоги, а написать собственную программу на C++ для мониторинга системных ресурсов прямо в панели задач Windows. ❗ Ключевые моменты статьи: • использование структуры NOTIFYICONDATA для создания иконок в системном трее • реализация параллельных таймеров для независимого обновления данных CPU и RAM • динамическое изменение цвета иконок в зависимости от загрузки системы Основной фокус — практическая реализация системного мониторинга с использованием Windows API и создание удобного интерфейса для отслеживания производительности. Особенно полезно для разработчиков, которые хотят создавать собственные утилиты для мониторинга системы и изучать работу с Windows API. Вы узнаете, что создание собственных системных утилит не так сложно, как кажется, и сможете адаптировать код под свои потребности. Библиотека C/C++ разработчика
显示全部...
🔥 6 2👍 2
照片不可用在 Telegram 中显示
🤖 Знаете, чем настоящий AI отличается от чат-бота? Чат-бот просит перезагрузить роутер, а настоящий AI уже умеет читать ваши эмоции в чате, включать музыку под ваше настроение, контролировать погрузку руды с точностью Терминатора и даже находить на КТ-снимках то, чего не заметит человеческий глаз. Современные компании для таких задач всё чаще используют Deep Learning — алгоритмы на основе нейросетей. Но чтобы попасть в эту лигу, нужен фундамент. И имя ему — Machine Learning. Наш новый курс по ML — это не волшебная таблетка. Это честный и структурированный путь в мир Data Science. Мы дадим вам базу, с которой вы: ✅ разберётесь, как мыслят машины (спойлер: матрицами!); ✅ научитесь строить работающие модели, а не карточные домики; ✅ получите трамплин для прыжка в Deep Learning. Хватит смотреть, как другие запускают ракеты. Пора строить свой собственный космодром. Начните с фундамента на нашем курсе по Machine Learning!
显示全部...
3😁 2
⚡️ Фича дня: std::views::transform 🐼 Проблема: Преобразование элементов контейнера требует создания нового контейнера, что тратит память и время. ✏️ Решение: views::transform создает ленивое представление с трансформацией на лету. 🔴 До:
cppstd::vector<std::string> strings;
for (const auto& num : numbers) {
    strings.push_back(std::to_string(num));
}
🟢 После:
auto string_view = numbers | std::views::transform([](int x) { 
    return std::to_string(x); 
});
❗️Практические применения: - Преобразование данных в конвейерах - Форматирование без промежуточных контейнеров - Цепочки трансформаций ⚡️ Используете transform views для оптимизации? Библиотека C/C++ разработчика #буст
显示全部...
🔥 3
Repost from TgId: 1162036880
照片不可用在 Telegram 中显示
😁 17