uk
Feedback
Библиотека C/C++ разработчика

Библиотека C/C++ разработчика

Відкрити в Telegram

Полезные материалы по всему, что может быть полезно плюсовику/сишнику. По всем вопросам @evgenycarter

Показати більше
7 322
Підписники
+524 години
+67 днів
+1230 день
Архів дописів
Dear ImGui — это мощная библиотека для создания графических интерфейсов пользователя (GUI) с использованием C++. Она ориентир
Dear ImGui — это мощная библиотека для создания графических интерфейсов пользователя (GUI) с использованием C++. Она ориентирована на разработчиков, которым нужен быстрый и удобный способ добавления интерфейса в приложения, такие как инструменты отладки, редакторы и визуализаторы. Особенности: - Простота и скорость — не требует сложной инициализации и минимально нагружает рендеринг. - Независимость от платформы — можно использовать с OpenGL, Vulkan, DirectX и другими графическими API. - Гибкость — позволяет создавать сложные UI-компоненты с минимальным количеством кода. - Активное сообщество — регулярные обновления и множество готовых решений. ИмGui подходит для использования в геймдеве, графических редакторах, утилитах для работы с данными и других проектах, требующих быстрого и интерактивного интерфейса. https://github.com/ocornut/imgui 📲 Мы в MAX #cpp #programming 👉 @cpp_lib

Грязные трюки C++ из userver и Boost Привет, я Антон Полухин из Техплатформы Екома и Райдтеха Яндекса. Моя команда разрабатыв
Грязные трюки 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

+6
C++: Эмулятор NES с нуля #1: Bitwise Basics & Overview #2: The CPU (6502 Implementation) #3: Buses, RAMs, ROMs & Mappers #4: PPU - Background Rendering #5: PPU - Foreground Rendering #6: APU - Sounds, Beeps & Bloops #7: More About Mappers источник 📲 Мы в 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 Если вам нужна простая и эффективная библиотека для работы
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

Сложность алгоритмов - простой и полный гайд источник 📲 Мы в MAX #cpp #programming 👉 @cpp_lib

🚀 Небольшие улучшения безопасности в ядре языка C++26 🔍 Что важно: язык C++ версии 26 получает сразу несколько «малых» - но
🚀 Небольшие улучшения безопасности в ядре языка 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_lib

Last Call: не пропусти Wink AI Challenge — первый в России ИИ-хакатон в киноиндустрии. Создай своё решение, которое ускорит п
Last 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++ Вы хотите узнать больше об игровых движках и написать их самостоятельно? Это здорово! Чтобы помочь вам на этом пути, вот некоторые рекомендации по библиотекам и зависимостям 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++ Язык С++ по-настоящему стар. Казалось бы это должно идти ему на пользу, как хорошему вину. Но этому мешает обра
Ода хейта 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

+8
Курс современного 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++ Часто возникает путаница с тем, что же понимается в компьютерных науках под «атомарностью». Как правило, атомарность – это свойство процесса, означающее, что он совершается за один шаг или операцию. Но в языке C++ атомарность определяется гораздо более специфичным образом. На самом деле, при использовании std::atomic с классами и типами еще не гарантируется, что весь код будет подлинно атомарным. Хотя, атомарные типы и входят в состав языка C++, сами атомарные операции должны поддерживаться на уровне того аппаратного обеспечения, на котором работает программа. Эта статья – простое руководство, помогающее понять, что же представляет собой атомарность в C++. https://blog.devgenius.io/a-simple-guide-to-atomics-in-c-670fc4842c8b Мы в MAX #cpp #programming 👉 @cpp_lib

+7
Лекции С++ продвинутый поток ФПМИ 2023-24 Лекция 1. Введение в язык C++. Основные типы и операции над ними Лекция 2. Основные команды в терминале. Компиляция программ Лекция 3. Объявления и определения, области видимости, пространства имен Лекция 4. Выражения и операторы. Управляющие конструкции Лекция 5. Compile-time errors, runtime errors, undefined behavior Лекция 6. Указатели Лекция 7. Стековая, статическая и динамическая память Лекция 8. Массивы, функции и указатели на функции источник Мы в MAX #cpp #programming 👉 @cpp_lib