Библиотека C/C++ разработчика | cpp, boost, qt
Open in Telegram
Все самое полезное для плюсовика и сишника в одном канале. По рекламе: @proglib_adv Учиться у нас: https://proglib.io/w/d6cd2932 Для обратной связи: @proglibrary_feeedback_bot РКН: https://gosuslugi.ru/snet/67a5bac324c8ba6dcaa1ad17
Show more2025 year in numbers

19 530
Subscribers
-724 hours
-417 days
-18530 days
Posts Archive
⚡️ Фича дня: 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
Photo unavailableShow in Telegram
🤩 Встречайте ImHex!
ImHex — инструмент, который превращает анализ бинарных файлов в удовольствие, который поможет разобраться с чужим кодом и отладить низкоуровневые проблемы.
❗ImHex — это современный hex-редактор, который понимает ваши боли:
▶️ Умное распознавание форматов — автоматически определяет структуру файлов
▶️ Визуализация данных — графики и цветовая подсветка вместо серых байтов
▶️ Встроенный дизассемблер — поддержка множества архитектур (ARM, x86, даже MOS 6502!) ▶️ LLVM-декомпилятор — разбирает искажённые имена символов
▶️ Процессор данных — режет и склеивает бинарники как профи
▶️ Кроссплатформенность — работает везде, где есть C++
Бесплатный, open-source, с активным комьюнити. Идеально для reverse engineering и системного программирования.
👉 Видео
Библиотека C/C++ разработчика
🔥 11❤ 3❤🔥 3💯 1
Photo unavailableShow in Telegram
😁 19🔥 5🥱 3🤩 2❤ 1
Photo unavailableShow in Telegram
🌚 Стандартная библиотека C++ — это сплошные костыли и велосипеды, пора от неё избавиться?
💡 Автор статьи пошёл дальше критики и создал собственную библиотеку, которая заменяет стандартную библиотеку C++ с нуля.
❗ Ключевые моменты библиотеки:
• замена std::tuple на лучший::ряд с операциями нарезки и мутации
• лучший::выбор вместо std::variant с поддержкой совмещения
• лучший::result как аналог Rust's Result<T, E> для обработки ошибок
Основной фокус — создание современной библиотеки, которая использует метапрограммирование, улучшенные контейнеры и новую парадигму итерации на основе Rust Iterator.
Особенно актуально для разработчиков, которые устали от многословности стандартных алгоритмов и хотят более элегантный API для работы с контейнерами и обработкой ошибок.
Автор доказывает, что можно создать библиотеку, которая превосходит даже Google Abseil, используя современные возможности языка и отказавшись от legacy-решений стандартной библиотеки.
👉 Статья
Библиотека C/C++ разработчика
😁 12❤ 3🔥 1🥰 1
Photo unavailableShow in Telegram
😼 Три совета, как не выучить C++ за 21 день
💡Сотрудник из компании МойОфис делится субъективным, но честным гайдом о том, как правильно подойти к изучению
C++ и не сгореть в процессе.
❗ Ключевые моменты статьи:
• сначала поймите, действительно ли вам нужен C++ или это просто хайп
• лучший способ начать — курс лекций Константина Владимирова (МФТИ)
• найдите опытного ментора и активно участвуйте в комьюнити
Основной фокус — практический подход к изучению через книги (Страуструп vs C++ Primer), написание собственных проектов и постепенное углубление в специализированные области.
Особенно актуально для студентов технических вузов и тех, кто хочет перейти от учебных задачек к коммерческой разработке.
Автор честно предупреждает: изучение C++ — это не гонка, а долгое путешествие. Попытки «схватить всё и сразу» приведут только к выгоранию и разочарованию вместо уверенных знаний языка.
Библиотека C/C++ разработчика🔥 12❤ 4🥱 3👍 2🤩 2
Photo unavailableShow in Telegram
🌲 Концепты в C++
Хотите безопасную сериализацию? Создайте концепт для проверки того, что тип можно сериализовать и десериализовать.
✏️ Создание концепта:
1️⃣ Определите требования к типу
2️⃣ Проверьте наличие методов
3️⃣ Используйте в шаблонах
#include <concepts>
#include <iostream>
#include <string>
#include <sstream>
// Концепт для сериализуемых типов
template<typename T>
concept Serializable = requires(T obj, std::ostream& os, std::istream& is) {
{ obj.serialize(os) } -> std::same_as<void>;
{ T::deserialize(is) } -> std::same_as<T>;
};
// Пример сериализуемого класса
struct Person {
std::string name;
int age;
void serialize(std::ostream& os) const {
os << name << " " << age;
}
static Person deserialize(std::istream& is) {
Person p;
is >> p.name >> p.age;
return p;
}
};
// Функция для работы с сериализуемыми объектами
template<Serializable T>
void save_and_load(const T& obj) {
std::stringstream ss;
// Сериализация
obj.serialize(ss);
std::cout << "Serialized: " << ss.str() << std::endl;
// Десериализация
T loaded = T::deserialize(ss);
std::cout << "Deserialized successfully" << std::endl;
}
// Использование
void example() {
Person p{"Alice", 25};
save_and_load(p); // ✅ Работает
// save_and_load(42); // ❌ Ошибка компиляции
}
😡 Частые ошибки:
❌ Забывают про static методы в концептах
❌ Не учитывают const-correctness
❌ Создают слишком жёсткие требования
⛄️ Практический совет:
✅Концепты помогают создавать self-documenting API и ловить ошибки на этапе компиляции.
Библиотека C/C++ разработчика #буст👍 8❤ 4
🏖️ Подборка вакансий для C++-разработчиков за неделю
C++ Developer (Middle+/Senior) — от 263 000 и до 325 000 ₽ Удалёнка
Senior C++ Developer / Tech Lead — от 400 000 ₽ Гибрид (Москва)
Разработчик С/С++ — до 300 000 ₽ Гибрид (Москва)
Старший C++ разработчик для высоконагруженных систем — Офис (Релокация в г. Лимасол, Кипр) 5000-7000 € до налогов
C разработчик (Platform V Monitor) — до 300 000 ₽ Офис (Москва, Санкт-Петербург, Казань)
C++ Разработчик — от 250 000 и до 350 000 ₽ Гибрид (Москва)
C++/Qt Developer (Рефакторинг) — от 260 000 ₽ Гибрид (Москва, Санкт-Петербург)
Библиотека C/C++ разработчика
Photo unavailableShow in Telegram
☝️ Последний шанс купить курсы Proglib Academy с доступом навсегда!
Это не просто летняя распродажа, это финал эпохи. Мы дарим скидку 40% на все курсы, включая полностью обновлённый курс по Python (предложение НЕ ДЕЙСТВУЕТ только на курс по AI-агентам для DS-специалистов).
Но главное: с 1 августа доступ ко всем новым курсам станет ограниченным. Успейте инвестировать в свои знания на самых выгодных условиях!
👉 Выбрать курс
Photo unavailableShow in Telegram
☝️ Последний шанс купить курсы Proglib Academy с доступом навсегда!
Это не просто летняя распродажа, это финал эпохи. Мы дарим скидку 40% на все курсы, включая полностью обновлённый курс по Python (предложение НЕ ДЕЙСТВУЕТ только на курс по AI-агентам).
Но главное: с 1 августа доступ ко всем новым курсам станет ограниченным. Успейте инвестировать в свои знания на самых выгодных условиях!
👉 Выбрать курс https://proglib.academy/python
Repost from TgId: 1940255915
Что выведет программа (на 64-bit системе)?Anonymous voting
- 4 4 4
- 8 8 8
- Ошибка компиляции
- 4 8 4
- 4 8 8
- 42 3.14 42
🥰 1
Repost from TgId: 1940255915
Photo unavailableShow in Telegram
Photo unavailableShow in Telegram
📰 Свеженькое из мира C++
Подготовили подборку самых интересных материалов за неделю о разных аспектах программирования и интересных проектах в мире C++.
😎 Полезное:
• Генерация документации из кода — автогенерация документация кода в Doxygen
• Тезисы о std::set и std::multiset в C++ — статья в которой разбираются ключевые различия между
std::set и std::multiset
• Особенности std::unreachable — полезная фишка, которую можно использовать для оптимизации
• Создание юнит-тестов для надёжного кода — способ создания юнит-тестов с помощью AI
• Мгновенное создание реализаций методов класса — автореализация методов с помощью IDE
• Основные способы вызова C++ кода из Python — основные возможности совместного использования Python и C++
🖨️Интересные проекты:
• Carbon Language — язык общего назначения, созданный Google как приемник C++
• MuseScore — это бесплатная программа для записи нот
• pybind11 — библиотека состоящая только из заголовков, которая представляет типы C++ в Python и наоборот❤ 2👍 1🔥 1
Photo unavailableShow in Telegram
Загадка: Я не член семьи, но мне доверяют семейные секреты. Я могу войти в дом без стука. Кто я?
😼 Ответ пишите в комментариях.
Библиотека C/C++ разработчика #междусобойчик
❤ 3
Photo unavailableShow in Telegram
😆 Самые быстрые штуки на земле:
• Гепард
• Самолёт
• Скорость света
• Приложения, которые я перенёс с Python на C++
Библиотека C/C++ разработчика #развлекалово
😁 29❤ 2👍 1👏 1
Photo unavailableShow in Telegram
«Хочу скорость C++, но удобство Python для отладки и экспериментов» — знакомая дилемма многих разработчиков при работе с вычислительными задачами.💡 Рассматриваем два подхода к интеграции C++ с Python: PyBind11 vs ctypes, их плюсы и подводные камни. 💡 ❗ Ключевые моменты статьи: • PyBind11 обеспечивает высокоуровневую интеграцию с автоматическим преобразованием типов • ctypes — низкоуровневое решение с множеством ограничений • полная интеграция с Numpy и Eigen из коробки через PyBind11 Основной фокус — создание Facade-класса для простого API между языками и настройка CMake для автоматической сборки. Особенно актуально для проектов машинного обучения, численных вычислений и научных исследований, где нужна производительность C++ с интерактивностью Python. ⚠️ Важный подводный камень: после перекомпиляции C++ кода модуль Python не перезагружается автоматически — требуется полный перезапуск сессии Python. Библиотека C/C++ разработчика
❤ 4🥱 3👍 1😁 1
Photo unavailableShow in Telegram
Группа Астра приглашает на встречу всех, кто связал свою жизнь с С++.
Мы собрали команду экспертов, чтобы этот вечер стал саундтреком твоего лета. Приходи — настроимся на волну креатива, обменяемся опытом и создадим свой летний хит из кода и музыки!
В программе:
⭐️«Использование С++ библиотек при разработке прикладных решений в Astra Linux»
⭐️ «C++ как производительный runtime для микросервисов»: обсудим подход, при котором C++ усиливает Node.js, а Node.js ускоряет интерфейсную часть C++-систем.
⭐️«Дайджест по нейросетям и их применению в ИТ»
И это ещё не все:
Вас ждем холиварный сейшен с экспертами: «С++ мертв или нет» . Обсуждаем эффективные практики и методы использования С++ в задачах разработки и интеграции.
И, конечно, перерыв на пенное 🍻
📍Встречаемся на Бауманская ул., 11, стр. 8 — около 10 минут от м. Бауманская или м. Красносельская.
Подробности и регистрация тут.
Реклама. ООО "РУСБИТЕХ-АСТРА", ИНН: 7726388700. erid: 2VtzqwUwkkf
❤ 4🥰 2🔥 1
🚀 Мгновенное создание реализаций методов класса
Проблема: 🤔 При разработке классов в C++ приходится сначала объявлять методы в заголовочном файле, а затем вручную создавать их реализации в .cpp файле, что требует времени и может привести к ошибкам.
Решение: 🎯 Автоматическое создание реализаций методов класса в соответствующем .cpp файле.
✅ Комбинации клавиш:
• CLion:
Alt+Enter на объявлении → Implement methods
• Visual Studio: Ctrl+. на объявлении → Implement all missing members
• VSCode (с C/C++ расширением): Alt+Shift+I
📝 Процесс в CLion:
• Объявите методы в заголовочном файле
• Нажмите Alt+Enter на имени класса
• Выберите Implement methods
• Выберите методы для реализации и целевой файл
• Все выбранные методы будут автоматически созданы с правильным синтаксисом
💡 Эта функция также позволяет:
• Генерировать стандартные методы (конструкторы, деструкторы, операторы)
• Создать все недостающие реализации методов сразу
• Добавлять реализации в уже существующие файлы
Библиотека C/C++ разработчика #буст❤ 6👍 3🙏 2
00:30
Video unavailableShow in Telegram
Как относитесь к созданию своего жпт не через конструктор, а хардкорно через код?
🔥 — я своего завайбкодил
🏃♀️ Ссылка на курс
0709 (1).mp415.80 MB
🥱 4
Photo unavailableShow in Telegram
💬 Истории подписчиков: Google Test vs Catch2 vs собственный framework
Недавно один из читателей поделился своей историей — возможно, она откликнется и вам:
Работаю над embedded системой на C++, нужно покрыть тестами критичный код. Использую Google Test уже два года, но начинаю сомневаться в выборе. Фреймворк тяжелый, долго компилируется, плюс не всегда удобно для embedded разработки. Попробовал Catch2 — понравилось! Header-only, быстрая компиляция, красивые assertion'ы. Но есть проблема: на некоторых микроконтроллерах не хватает памяти для всех template instantiation'ов. Коллега использует doctest — еще более легковесный, но менее функциональный. Много чего нету. Есть еще Boost.Test, но это еще одна зависимость. Думаю о том, чтобы написать минималистичный тест фреймворк именно под embedded. Но боюсь, что это будет изобретение велосипеда по новой, и потрачу время на то, что уже решено.🤔 А вы какой фреймворк используете в своих проектах? Библиотека C/C++ разработчика #междусобойчик
❤🔥 4❤ 2🔥 2🤩 1
