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

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

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

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

РКН: https://gosuslugi.ru/snet/67a5bac324c8ba6dcaa1ad17
Download Telegram
🧑‍💻 AI-инструменты, которые я использую каждый день

Андрей, мидл C++ разработчик, рассказывает о том, какие современные AI-инструменты разработки он использует в повседневной работе.

Какие AI-инструменты облегчают вашу работу? Делитесь в комментариях 👇

Библиотека C/C++ разработчика #буст
😤 «AI-агенты — это всё игрушки, зачем на это курс покупать, когда всё есть в интернете?!»

Ага, конечно. Вот только на YouTube никто не:

• Разберет твои вопросы вживую
• Не покажет, как применять AI-агентов на практике
• Не поможет встроить это в реальную работу DS-специалиста

Уже 23 июня в 19:00 по МСК ты можешь сам всё узнать на бесплатном вебинаре с экспертом Никитой Зелинским.

👉 Что будет на вебинаре:

— Разбор структуры курса
— Ответы на частые вопросы студентов
Примеры из реальных проектов с AI-агентами
— И, конечно, как это всё можно использовать в работе прямо сейчас

А если уже всё понял и хочешь идти учиться — лови промокод lucky на 5.000₽

🔗 Ссылка на курс

P.s. Ждем тебя!
Команда дня: оптимизация размера исполняемого файла

Уменьшение размера скомпилированного C++ приложения с помощью strip.

❗️Команда для удаления отладочной информации:

strip --strip-debug --strip-unneeded ./your_app


❗️Дополнительные способы уменьшения размера:

g++ -Os -s -DNDEBUG file.cpp — оптимизация размера при компиляции

upx --best ./your_app — сжатие исполняемого файла (требует upx)

objdump -t ./app | wc -l — количество символов в файле

Библиотека C/C++ разработчика
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
📰 Свеженькое из мира C++

Недельный дайджест новостей о разных аспектах программирования и интересных проектах в мире C++.

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

Address Sanitizer в Visual Studio 2022 — улучшение средств разработки почти всегда приводит к улучшению качества кода
Когда метрики мотивируют неправильно — иногда метрики это зло, а иногда ещё большее зло

😎 Полезное:

C++ Concepts — типобезопасность на новом уровне — использование концептов может сделать код более читаемым
Создание модулей C++20 для быстрой компиляции — модули в C++ это то что мы все так долго ждали, но пока ещё ждём
Оптимизация размера исполняемого файла — полезные трюки по уменьшению размера бинарника

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

YimMenuV2 — Экспериментальное меню для GTA 5
RTranslatorэто (почти) бесплатное приложение для перевода в режиме реального времени с открытым исходным кодом в автономном режиме для Android
spdlog — быстрая библиотека логирования на C++


Библиотека C/C++ разработчика #свежак
🏖️ Подборка вакансий для C++-разработчиков за неделю

C++ developer (KORNFELD) — Удалёнка (Санкт-Петербург)

Разработчик С++ — от 200 000 до 280 000 ₽ Гибрид (Москва)

C++ Developer — 4 200 —‍ 6 600 € Офис (Берлин)

C++ Developer in L2/L3 (Радиочастотный центр) — от 250 000 ₽ Удалёнка

➡️ Еще больше топовых вакансий — в нашем канале C++ jobs

Библиотека C/C++ разработчика
🎨 Qt Quick/QML — декларативный UI для C++ приложений

Если хотите создавать современные, анимированные интерфейсы без HTML/CSS, то Qt Quick хороший выбор.

Qt Quick — это декларативный framework для создания UI с использованием языка QML. Позволяет легко создавать анимации, переходы и современные интерфейсы, интегрируясь с C++ логикой.


👉 Установка:

# Часть Qt framework
# Установка через Qt Online Installer
# Или sudo apt install qtquick2-dev qtdeclarative5-dev


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

// main.qml
import QtQuick 2.15
Rectangle {
width: 300; height: 200
color: "lightblue"
Text {
anchors.centerIn: parent
text: "Hello QML!"
}
}


Дополнительные возможности:

— Встроенная поддержка анимаций
— Биндинг данных с C++ моделями
— Кастомные компоненты
— Горячая перезагрузка во время разработки


🔍 Интеграция с C++:

class Backend : public QObject {
Q_OBJECT
Q_PROPERTY(QString data READ data NOTIFY dataChanged)
public slots:
void updateData() { /* логика */ }
};
qmlRegisterType<Backend>("com.myapp", 1, 0, "Backend");



Библиотека C/C++ разработчика #буст
🔥 Отладка сопрограмм C++

💡 Андре Бранд на C++Online 2025 разбирает практические аспекты отладки сопрограмм, с которыми сталкиваются разработчики.

Ключевые моменты доклада:

• компилятор C++20 создает фрейм сопрограммы, но уничтожение остается задачей программиста
• утечка памяти при отсутствии вызова delete и неопределенное поведение при многократном возобновлении
• особенности работы с планировщиками и параллельным выполнением задач
• техники отладки многопоточного кода с замораживанием потоков

Основной фокус — практические проблемы управления жизненным циклом сопрограмм и способы их диагностики в отладчике.

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

Вы узнаете, что простое добавление co_await и co_yield без понимания механизмов управления памятью и жизненным циклом может превратить код в источник трудноотлавливаемых багов.

👉 Видео

Библиотека C/C++ разработчика
💡 Исключения в C++ — элегантная обработка ошибок

Правильная обработка ошибок отличает профессиональный код от любительского. Исключения в C++ позволяют писать надежные программы без засорения кода проверками возвращаемых значений.

Изучи исключения C++
Документация

Библиотека C/C++ разработчика
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
📝 Немного инсайтов из третьего модуля курса

Сейчас большинство представлений об ИИ ограничиваются одним агентом — моделькой, которая что-то предсказывает, генерирует или классифицирует.

Но реальный прорыв начинается, когда этих агентов становится несколько.
Когда они начинают взаимодействовать друг с другом.
Когда появляется координация, распределение ролей, память, планирование — всё это и есть мультиагентные системы (MAS).

➡️ Пока кто-то думает, что это звучит как научная фантастика, индустрия уже переходит к новым уровням сложности:
— Microsoft делает язык DroidSpeak для общения между LLM
— Open Source-фреймворки вроде LangChain, AutoGen, CrewAI, LangGraph — бурно развиваются
— компании, включая МТС, уже применяют MAS в боевых задачах

🎓 На курсе мы подходим к этому практично:
🔵 разбираем, как устроены MAS
🔵 пишем агентов с нуля
🔵 учимся выстраивать взаимодействие: конкуренцию, кооперацию, планирование

Именно на третьем уроке вы впервые собираете не просто «умного бота», а живую систему из агентов, которая работает вместе — как команда.

Причём по-настоящему: врач, SQL-аналитик, travel-планировщик, Python-генератор, поисковик.

🙂 Если хочется не просто использовать ИИ, а проектировать системы, которые думают, планируют и сотрудничают тогда забирайте курс по ИИ-агентам
Please open Telegram to view this post
VIEW IN TELEGRAM
✏️ Промпт дня: Поиск и исправление ошибок в C++

Иногда мы не замечаем уязвимости и потенциальные проблемы в нашем коде. AI-помощник может сэкономить не только время, но и избавить от серьезных багов в продакшене.

🍴 Промпт для AI-помощника:

Review this code for errors and refactor to fix any issues:

[Вставь свой код]


‼️ Пример использования промпта:

Было:
class DataProcessor {
public:
char* processData(char* input) {
char* buffer = new char[100];
strcpy(buffer, input);
return buffer;
}

void cleanup() {
// забыли освободить память
}
};

void example() {
DataProcessor dp;
char* result = dp.processData("some long input data that might overflow");
// утечка памяти - не вызываем delete
}


Стало (после AI-ревью):

class DataProcessor {
public:
std::string ProcessData(const std::string& input) {
// Используем std::string для безопасности
return input; // или любая другая обработка
}

// Деструктор не нужен - RAII работает автоматически
};

void Example() {
DataProcessor dp;
std::string result = dp.ProcessData("some long input data that might overflow");
// Автоматическое управление памятью
}



Что исправил AI:

Убрал потенциальный buffer overflow
Заменил ручное управление памятью на RAII
Использовал безопасные std::string вместо char*
Исправил стиль именования функций
Устранил утечки памяти

⛄️ А используете ли вы AI для ревью кода? Поделитесь опытом в комментариях!

Библиотека C/C++ разработчика #буст
Please open Telegram to view this post
VIEW IN TELEGRAM