Библиотека C/C++ разработчика
Kanalga Telegram’da o‘tish
Полезные материалы по всему, что может быть полезно плюсовику/сишнику. По всем вопросам @evgenycarter
Ko'proq ko'rsatish7 322
Obunachilar
+524 soatlar
+67 kunlar
+1230 kunlar
Postlar arxiv
Dear ImGui — это мощная библиотека для создания графических интерфейсов пользователя (GUI) с использованием C++. Она ориентирована на разработчиков, которым нужен быстрый и удобный способ добавления интерфейса в приложения, такие как инструменты отладки, редакторы и визуализаторы.
Особенности:
- Простота и скорость — не требует сложной инициализации и минимально нагружает рендеринг.
- Независимость от платформы — можно использовать с OpenGL, Vulkan, DirectX и другими графическими API.
- Гибкость — позволяет создавать сложные UI-компоненты с минимальным количеством кода.
- Активное сообщество — регулярные обновления и множество готовых решений.
ИмGui подходит для использования в геймдеве, графических редакторах, утилитах для работы с данными и других проектах, требующих быстрого и интерактивного интерфейса.
https://github.com/ocornut/imgui
📲 Мы в MAX
#cpp #programming
👉 @cpp_lib
Грязные трюки C++ из userver и Boost
Привет, я Антон Полухин из Техплатформы Екома и Райдтеха Яндекса. Моя команда разрабатывает userver — современный опенсорсный асинхронный фреймворк с богатым набором абстракций для быстрого и комфортного создания микросервисов, сервисов и утилит на C++.
Когда мы пишем какой‑то код для userver и для таких сложных проектов, как Boost, периодически мы сталкиваемся с нестандартными проблемами. И эти нестандартные проблемы требуют нестандартных решений. Вот о таких решениях мы сегодня и поговорим.
А именно:
- Посмотрим, как работают исключения на платформе Linux x86, и сделаем с ними что‑то интересное.
- Залезем ещё глубже под капот исключений и сделаем их ещё быстрее.
- Сделаем висячую ссылку на невалидный объект, и всё будет хорошо.
- А под конец то, что все любим, — погрузимся в шаблонное метапрограммирование.
https://habr.com/ru/companies/yandex/articles/852244
📲 Мы в MAX
#cpp #programming
👉 @cpp_lib
Парсим С++
В этом вебинаре мы обсудили грамматические конструкции в С++ и как они работают. Мы поговорили о разных видах парсеров и о том, почему С++ сложно парсить. Мы также поделились некоторыми хитростями, позволяющими избежать чрезмерного замедления.
источник
📲 Мы в MAX
#cpp #programming
👉 @cpp_lib
Опасность устарела, неопределенность недопустима: undefined behavior в С++20/23/26
Сергей Талантов
В современных стандартах С++ стало меньше UB. Разбираем на конкретных кейсах.
— Начиная с С++20 отрицательные целые числа обязательно должны быть представлены в дополнительном коде. Это сокращает количество UB в битовых операциях и не только.
— Введение std::ssize, возвращающего знаковый размер контейнеров, уменьшает количество ошибок и UB в циклах.
— Расширение времени жизни временных объектов в циклах for, появившееся в С++23, решает неочевидные проблемы.
— Казалось бы, мелочь, но инициализация std::string нулевым указателем раньше была UB, a теперь запрещена.
— В С++23 появился эксклюзивный режим открытия файла (O_EXCL), что решает проблему гонок (time-of-check to time-of-use).
— Будет ли введена арифметика с насыщением в С++26?
Некоторые конструкции языка признаются небезопасными и устаревшими, также проходимся по ним:
— Осталось ли что-то от volatile?
— Можно ли теперь делать неявный захват this по значению в лямбдах?
— Какие операции с enum теперь не в почете.
источник
📲 Мы в MAX
#cpp #programming
👉 @cpp_lib
Tensor.h – Лёгкая и удобная библиотека для работы с тензорами на C
Если вам нужна простая и эффективная библиотека для работы с тензорами в C, обратите внимание на tensor.h. Этот проект предлагает лёгкую в использовании реализацию тензоров с минимальным оверхедом.
🔹 Основные возможности:
✅ Поддержка многомерных тензоров
✅ Простая и понятная API
✅ Поддержка операций над тензорами (сложение, умножение и т. д.)
✅ Небольшой размер кода
https://github.com/apoorvnandan/tensor.h
📲 Мы в MAX
#cpp #programming
👉 @cpp_lib
Сборка C++ проектов. CMAKE. Статические, динамические библиотеки. Github actions. GE серии
0:00:00 - Введение
0:01:20 - Статические библиотеки в CMAKE
0:09:22 - Динамические библиотеки в CMAKE
0:17:22 - Создаем таргет тестирования
0:27:24 - Пользовательский интерфейс CMAKE, опции
0:31:08 - Github actions
источник
📲 Мы в MAX
#cpp #programming
👉 @cpp_lib
🚀 Подборка Telegram каналов для программистов
Системное администрирование, DevOps 📌
https://t.me/bash_srv Bash Советы
https://t.me/win_sysadmin Системный Администратор Windows
https://t.me/sysadmin_girl Девочка Сисадмин
https://t.me/srv_admin_linux Админские угодья
https://t.me/linux_srv Типичный Сисадмин
https://t.me/devopslib Библиотека девопса | DevOps, SRE, Sysadmin
https://t.me/linux_odmin Linux: Системный администратор
https://t.me/devops_star DevOps Star (Звезда Девопса)
https://t.me/i_linux Системный администратор
https://t.me/linuxchmod Linux
https://t.me/sys_adminos Системный Администратор
https://t.me/tipsysdmin Типичный Сисадмин (фото железа, было/стало)
https://t.me/sysadminof Книги для админов, полезные материалы
https://t.me/i_odmin Все для системного администратора
https://t.me/i_odmin_book Библиотека Системного Администратора
https://t.me/i_odmin_chat Чат системных администраторов
https://t.me/i_DevOps DevOps: Пишем о Docker, Kubernetes и др.
https://t.me/sysadminoff Новости Линукс Linux
1C разработка 📌
https://t.me/odin1C_rus Cтатьи, курсы, советы, шаблоны кода 1С
https://t.me/DevLab1C 1С:Предприятие 8
https://t.me/razrab_1C 1C Разработчик
https://t.me/buh1C_prog 1C Программист | Бухгалтерия и Учёт
https://t.me/rabota1C_rus Вакансии для программистов 1С
Программирование C++📌
https://t.me/cpp_lib Библиотека C/C++ разработчика
https://t.me/cpp_knigi Книги для программистов C/C++
https://t.me/cpp_geek Учим C/C++ на примерах
Программирование Python 📌
https://t.me/pythonofff Python академия.
https://t.me/BookPython Библиотека Python разработчика
https://t.me/python_real Python подборки на русском и английском
https://t.me/python_360 Книги по Python
Java разработка 📌
https://t.me/BookJava Библиотека Java разработчика
https://t.me/java_360 Книги по Java Rus
https://t.me/java_geek Учим Java на примерах
GitHub Сообщество 📌
https://t.me/Githublib Интересное из GitHub
Базы данных (Data Base) 📌
https://t.me/database_info Все про базы данных
Мобильная разработка: iOS, Android 📌
https://t.me/developer_mobila Мобильная разработка
https://t.me/kotlin_lib Подборки полезного материала по Kotlin
https://t.me/androidspb Разработка под Android: Kotlin, Java.
Фронтенд разработка 📌
https://t.me/frontend_1 Подборки для frontend разработчиков
https://t.me/frontend_sovet Frontend советы, примеры и практика!
https://t.me/React_lib Подборки по React js и все что с ним связано
Разработка игр 📌
https://t.me/game_devv Все о разработке игр
Библиотеки 📌
https://t.me/book_for_dev Книги для программистов Rus
https://t.me/programmist_of Книги по программированию
https://t.me/proglb Библиотека программиста
https://t.me/bfbook Книги для программистов
БигДата, машинное обучение 📌
https://t.me/bigdata_1 Big Data, Machine Learning
Программирование 📌
https://t.me/bookflow Лекции, видеоуроки, доклады с IT конференций
https://t.me/rust_lib Полезный контент по программированию на Rust
https://t.me/golang_lib Библиотека Go (Golang) разработчика
https://t.me/itmozg Программисты, дизайнеры, новости из мира IT
https://t.me/php_lib Библиотека PHP программиста 👨🏼💻👩💻
https://t.me/nodejs_lib Подборки по Node js и все что с ним связано
https://t.me/ruby_lib Библиотека Ruby программиста
https://t.me/lifeproger Жизнь программиста. Авторский канал.
QA, тестирование 📌
https://t.me/testlab_qa Библиотека тестировщика
Шутки программистов 📌
https://t.me/itumor Шутки программистов
Защита, взлом, безопасность 📌
https://t.me/thehaking Канал о кибербезопасности
https://t.me/xakep_2 Хакер Free
Книги, статьи для дизайнеров 📌
https://t.me/ux_web Статьи, книги для дизайнеров
Математика 📌
https://t.me/Pomatematike Канал по математике
https://t.me/phis_mat Обучающие видео, книги по Физике и Математике
https://t.me/matgeoru Математика | Геометрия | Логика
Excel лайфхак📌
https://t.me/Excel_lifehack
https://t.me/mir_teh Мир технологий (Technology World)
Вакансии 📌
https://t.me/sysadmin_rabota Системный Администратор
https://t.me/progjob Вакансии в IT
С++ — это настоящий кайфǃ
Я хочу, чтобы вы задали себе один вопрос и честно на него ответили. Когда в последний раз вы получали настоящее удовольствие от программирования? Оглядываясь назад, я понимаю, что не испытывал подобных ощущений, наверное… уже лет десять. Удовольствия у меня не было ни от JavaScript, ни от Python, ни от Ruby или C — ни от чего. Когда я говорю «удовольствие» — я имею в виду ощущения человека, которого во время работы над неким проектом переполняет искренний восторг. Этот человек постоянно ловит себя на такой мысли: «Ох, ну какая ж круть. Поверить не могу, что моя безумная идея и правда сработала!».
https://habr.com/ru/companies/wunderfund/articles/874216/
📲 Мы в MAX
#cpp #programming
👉 @cpp_lib
🚀 Небольшие улучшения безопасности в ядре языка C++26
🔍 Что важно: язык C++ версии 26 получает сразу несколько «малых» - но значимых - изменений, направленных на повышение безопасности кода.
🔧 Основные нововведения:
1. Запрет связывания возвращённой ссылки с временным объектом
Ранее можно было возвращать ссылку на временный объект, что приводило к висячим ссылкам и неявным ошибкам. Теперь это будет запрещено.
2. Изменение поведения при чтении неинициализированных значений
В C++23 чтение неинициализированной переменной = неопределённое поведение. В C++26 такие случаи станут ошибками.
- При этом для экспертных случаев остаётся атрибут
[[indeterminate]], который позволяет отключать полную инициализацию, когда это оправдано.
3. Удаление указателя на неполный тип становится ill-formed
Если тип неполон и у него не тривиальный деструктор или перегружен operator delete, то delete ptr; будет вызывать ошибку компиляции.
🎯 Важно:
- Повышает общую надёжность и безопасность кода.
- Улучшает диагностику ошибок на уровне языка, не только по статическому анализу.
- Упрощает корректное использование памяти и типов.
- Особенно актуально для больших и долгоживущих проектов на C++.
📌 Что делать:
- Проверить свой код на случаи возврата ссылок на временные объекты.
- Убедиться, что не читаются неинициализированные переменные - либо использовать [[indeterminate]] там, где это оправдано.
- Проверить конструкции delete на указателях на неполные типы.
- Следить за компиляторами и настройками: когда C++26-поддержка станет доступной, и начать адаптацию.
https://www.modernescpp.com/index.php/small-safety-improvements-in-the-c-26-core-language/
📲 Мы в MAX
#cpp #programming
👉 @cpp_libLast Call: не пропусти Wink AI Challenge — первый в России ИИ-хакатон в киноиндустрии. Создай своё решение, которое ускорит производство фильмов и сериалов. Призовой фонд — 1 125 000 рублей.
Регистрация открыта до 4 ноября: https://cnrlink.com/winkaichallengeclib
Приглашаем ML-инженеров, backend- и frontend-разработчиков, DevOps, MLOps и мультимедиа-инженеров.
Главные причины присоединиться:
🔸 Работа с настоящими сценариями и материалами, анализ текстов, извлечение сущностей, генерация структуры съёмок.
🔸 Практика применения NLP, NER и мультимодальных данных в задачах кинопроизводства.
🔸 Разработка ИИ-сервиса, который оценят и будут использовать продюсеры популярных российских фильмов и сериалов.
🔸 Реальный кейс в портфолио, созданный специально для крупнейшего онлайн-кинотеатра.
🔸Финалисты отправятся в Москву — Wink оплатит билеты и проживание.
Успей зарегистрироваться на первый в России хакатон по применению ИИ в кинопроизводстве: https://cnrlink.com/winkaichallengeclib
Инструменты и библиотеки для создания собственного игрового движка на C++
Вы хотите узнать больше об игровых движках и написать их самостоятельно? Это здорово! Чтобы помочь вам на этом пути, вот некоторые рекомендации по библиотекам и зависимостям C++, которые помогут вам начать работу.
https://pikuma.com/blog/how-to-make-your-own-cpp-game-engine
Мы в MAX
#cpp #programming
👉 @cpp_lib
Курс по C++ и SFML
Простые программы на C++
В статье мы напишем пару простейших программ на C++ и посмотрим, как происходит их компиляция.
https://ps-group.github.io/ps1/lesson_cpp_1
Знакомство с SFML. Компьютерная графика.
SFML (Simple Fast Multimedia Library) — это C++ библиотека для мультимедиа. В статье мы воспользуемся SFML для рисования фигур в окне.
https://ps-group.github.io/ps1/lesson_sfml_1
Основной цикл программы. Анимация.
В статье мы освоим паттерн Game Loop, а также научимся обрабатывать события мыши и клавиатуры.
https://ps-group.github.io/ps1/lesson_sfml_2
Обработка событий. Интерактив.
В статье вы освоите обработку событий мыши и клавиатуры в мультимедийных программах и научитесь писать функции на языке С++
https://ps-group.github.io/ps1/lesson_sfml_3
Соглашения о кодировании на C++
Соглашения о кодировании для курса по C++/SFML
https://ps-group.github.io/ps1/cxx_coding_style
Комплексные задачи. Котик следует за мышкой
В этой практике вы начнёте по шагам решать комплексные задачи, двигаясь от математической модели и псевдокода к готовой программе
https://ps-group.github.io/ps1/sfml_workshop_1
Массовые столкновения
На этом занятии вы научитесь программировать игры уровня Бильярда или Arkanoid
https://ps-group.github.io/ps1/sfml_workshop_2
Ещё одна практика на SFML
На этом занятии вы освоите более гибкие приёмы работы с SFML: виртуальную камеру, рисование произвольных фигур, проверку столкновения
https://ps-group.github.io/ps1/sfml_workshop_3
Основной проект курса: 2D игра
Цель проекта - самостоятельно написать комплексную программу, клон небольшой игры
https://ps-group.github.io/ps1/project
Задание | Спецификация проекта в виде MindMap
Чтобы составить видение проекта-игры, нужно визуализировать. Сделать это поможет MindMap.
https://docs.google.com/document/d/1Ki6DlbhDrZHskC6LED88FHeX8m-Se3-MrTpjwKYlcDk/edit?usp=sharing
Задание | План проекта в виде RoadMap
Чтобы справиться с известным проектом в известные сроки, нужно составить план действий. Сделать это поможет RoadMap.
https://docs.google.com/document/d/1zdW81SLmgVf3ZXyMwXkOXxIwOzBzkTTvi4TTMLdUw_E/edit
Пишем клон игры PacMan слой за слоем
В этой коллекции примеров слой за слоем на C++/SFML воссоздаётся урезанный клон игры PacMan
https://github.com/ps-group/sfml-packman
Схема оценки проекта-игры
В таблице записаны критерии оценки и примеры оценивания различных игр
https://docs.google.com/spreadsheets/d/1n7OzeQEDujPDboW3dFn4M4iXhcPvlCR7FQbPRSE4jwM/edit?usp=sharing
Мы в MAX
#cpp #programming
👉 @cpp_lib
Сколько инструментов для уменьшения бинарного файла вы знаете? А если стоит задача не повредить функциональность?
Решить такую проблему вызвался инженер YADRO. Он нашел несколько способов, которые помогут отсечь лишнее:
• Bloaty — инструмент для профилирования размера бинарных файлов;
• флаги компилятора и линковки;
• дешаблонизация и оптимизация кода.
Все варианты автор проиллюстрировал примерами кода и объяснил, как тот или иной инструмент влияет на размер бинарного файла. Получился подробный гайд, к которому можно возвращаться, когда бинарь «раздуло» перед релизом.
Читайте статью на Хабре →
Ода хейта C++
Язык С++ по-настоящему стар. Казалось бы это должно идти ему на пользу, как хорошему вину. Но этому мешает обратная совместимость. Хорошая идея, если бы она работала...
Давайте просто честно признаемся: ни один из стандартов не был обратно совместим. ВСЕГДА реальные проекты требовали миграции и адаптации не то что под новую версию стандарта, но даже под новую версию компилятора. Чем больше проект, тем больше усилий, и порой фатальных. Уверен, среди читающих найдется человек, у которого на работе все еще 98й стандарт С++.
В целом, идея не ломать старое - хорошая. Лучше уж поломать совсем немного, чем вообще все. Не спорю, здесь С++ держится хорошо, местами даже слишком. Но из-за боязни сломать старое в языке засели старые и просто неправильные решения.
Язык настолько сильно прошит старыми древними идеями, что порой удивляешься как это до сих пор существует в современном мире, где есть куча других более изящных решений в других языках. И ведь логично было бы поправить самые крупные косяки, но нет, все заплаточки аккуратно пришиваются сверху чтобы "не дай боже старая всем нужная библиотека не сломалась". Ну раз она старая и всем нужная, разве никто не проапгрейдит ее?
Все же хотелось бы чтобы язык признавал свои ошибки и ломал даже самые старые концепции в угоду более лучшего будущего.
https://habr.com/ru/articles/811369/
Мы в MAX
#cpp #programming
👉 @cpp_lib
Быстрый двоичный поиск без ветвления
Мои читатели — занятые люди, поэтому сразу перейду к делу. Вот она, самая быстрая обобщённая (и простая) реализация двоичного поиска на C++
Rus https://habr.com/ru/companies/ruvds/articles/756422/
Eng https://mhdm.dev/posts/sb_lower_bound/
Мы в MAX
#cpp #programming
👉 @cpp_lib
Курс современного C++ | Боннский университет, Германия.
Course Introduction and Hello World
Variables, Basic Types, Control Structures
Compilation, Debugging, Functions, Header/Source, Libraries, CMake
Google Test, Namespaces, Classes
Move Semantics, Classes
Polymorphism, I/O, Stringstreams, CMake find
Static, Numbers, Arrays, Non-owning pointers, Classes
Pointers, const with pointers, Stack and Heap, Memory leaks
Smart/Unique/Shared ptrs, Associative con., Enumeration
Templates, Iterators, Exceptions, Program input parameters, OpenCV
источник
Мы в MAX
#cpp #programming
👉 @cpp_lib
Простое руководство по атомарности в C++
Часто возникает путаница с тем, что же понимается в компьютерных науках под «атомарностью». Как правило, атомарность – это свойство процесса, означающее, что он совершается за один шаг или операцию. Но в языке C++ атомарность определяется гораздо более специфичным образом. На самом деле, при использовании std::atomic с классами и типами еще не гарантируется, что весь код будет подлинно атомарным. Хотя, атомарные типы и входят в состав языка C++, сами атомарные операции должны поддерживаться на уровне того аппаратного обеспечения, на котором работает программа. Эта статья – простое руководство, помогающее понять, что же представляет собой атомарность в C++.
https://blog.devgenius.io/a-simple-guide-to-atomics-in-c-670fc4842c8b
Мы в MAX
#cpp #programming
👉 @cpp_lib
Лекции С++ продвинутый поток ФПМИ 2023-24
Лекция 1. Введение в язык C++. Основные типы и операции над ними
Лекция 2. Основные команды в терминале. Компиляция программ
Лекция 3. Объявления и определения, области видимости, пространства имен
Лекция 4. Выражения и операторы. Управляющие конструкции
Лекция 5. Compile-time errors, runtime errors, undefined behavior
Лекция 6. Указатели
Лекция 7. Стековая, статическая и динамическая память
Лекция 8. Массивы, функции и указатели на функции
источник
Мы в MAX
#cpp #programming
👉 @cpp_lib
Endi mavjud! Telegram Tadqiqoti 2025 — yilning asosiy insaytlari 
