ar
Feedback

لا تقع ضحية للمخادعين! تيليمتريو يكتشف ويُميّز هذه القنوات 👉 إذا كنت تريد رؤية العلامة، اشترك

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

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

الذهاب إلى القناة على Telegram

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

إظهار المزيد
7 198
المشتركون
+224 ساعات
-27 أيام
-2730 أيام
أرشيف المشاركات
👩‍💻 Что нового в С++23 и как это использовать? Расскажет Владимир Щерба — Middle Backend Developer в Soramitsu Labs. Приход
👩‍💻 Что нового в С++23 и как это использовать? Расскажет Владимир Щерба — Middle Backend Developer в Soramitsu Labs. Приходите на бесплатный практический урок «Обзор С++20/23. Корутины, expected, generator, stacktrace» от OTUS. На вебинаре разберем: — Deducing this — наконец-то избавляемся от дублирования const- и не-const- методов; — std::stacktrace — кроссплатформенный способ распечатать стек вызовов; — std::expected — новый подход к обработке ошибок; — std::generator — первая корутина в стандартной библиотеке. 🤝 Встречаемся 21 февраля в 20:00 мск в рамках курса «C++ Developer. Professional». Доступна рассрочка на обучение! ➡️ Пройдите короткий тест прямо сейчас, чтобы посетить бесплатный урок и получить запись: https://vk.cc/cuCz8N Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

Краткий курс C++ для начинающих 00:07 – CodeBeauty Intro 00:37 – C++ Intro 04:34 – Installing Visual Studio 2019 Community 05:33 – Creating C++ Console app project? 09:44 – Primitive Data types and Variables 13:39 – Arrays 19:15 – If/else statement 20:20 – Ternary (conditional) operator 21:38 – Nested if, if-else-if 26:30 – Enums 26:11 – Switch/case statement 32:04 – Infinite loops, While and Do-While loops (Difference between while and do-while explained) 37:53 – For loop 40:23 – Functions 40:53 – Functions that return value 43:21 – Functions that don't return value (void functions) 45:37 – Functions with default arguments 46:18 – Pointers 47:15 – Passing Pointers to Functions 53:31 - Pointers and Arrays 58:27 – Classes in C++ 1:04:48 – Constructors 1:07:45 – Class methods 1:09:33 – Encapsulation 1:17:14 – Inheritance 1:23:05 – Polymorphism источник #cpp #programming 👉 @cpp_lib

+5
Эффективное использование С++ Лекция 1. Библиотеки, утилиты, средства разработки, сборка (Эффективное использование С++) Лекция 2. Работа с памятью. Утечки ресурсов. RAII, умные указатели (Эффективное использование С++) Лекция 3. Move semantics, rvalue reference, perfect forwarding. Лекция 4. Callbacks: lambda, bind & function. Лекция 5. Multithreading in C++ (потоки, блокировки, задачи, атомарные операции, очереди сообщений) Лекция 6. Обзор возможностей современных стандартов C++ источник #cpp #programming 👉 @cpp_lib

CLI'нический парсинг Каждый программист однажды получает по голове необходимостью парсить аргументы командной строки. Кого-то
CLI'нический парсинг Каждый программист однажды получает по голове необходимостью парсить аргументы командной строки. Кого-то этот удар сломит и заставит написать несколько сотен строк кода, по которому потом будут восстанавливать интерфейс программы следующие поколения, другие сделают наборы рантайм мап и начнут оперировать строками, по которым будет уже непонятно, то ли это так и должно быть, то ли опечатка... Последние в порыве отчаяния возьмут целый boost для этой задачи, а тот сведётся всё к тем же рантайм мапам и строкам https://habr.com/ru/articles/781496/ #cpp #programming 👉 @cpp_lib

Подготовка инструментов под фаззинг UEFI на базе edk2 в Windows Так повелось в мире, что время от времени необходимо проводить исследования безопасности драйверов и прошивок. Одним из способов исследования является — фаззинг (Fuzzing). Не будем останавливаться на описании самого процесса фаззинга, для этого есть эта статья, отметим только, что в основном его используют для исследования прикладных приложений. И тут возникает вопрос: как профаззить прошивку, в частности прошивку UEFI? Здесь будет рассказано об одном из способов с использованием программного эмулятора EDKII, чтобы проводить фаззинг без развертывания аппаратных стендов. И что важно, все это сделаем в Windows. Сразу, что такое EDKII? — это среда разработки и эмулятор ПО согласно спецификации UEFI. Про разработку в EDKII есть ряд статей (вот и вот), а наша задача связать эмулятор EDKII и фаззер. А реализовывать инструментацию будем под фаззер WinAFL. https://habr.com/ru/articles/773548/ #cpp #programming 👉 @cpp_lib

Проектно-ориентированное обучение Список уроков по программированию, в которых начинающие разработчики программного обеспечения учатся создавать приложения с нуля. Эти уроки разделены по различным основным языкам программирования. Уроки могут включать в себя несколько технологий и языков. https://github.com/practical-tutorials/project-based-learning?tab=readme-ov-file#cc #cpp #programming 👉 @cpp_lib

Шпаргалка по C++ Шпаргалка фокусируется на языке, а не стандартной библиотеке, и учитывает особенности C++11/C++14 #cpp #prog
+9
Шпаргалка по C++ Шпаргалка фокусируется на языке, а не стандартной библиотеке, и учитывает особенности C++11/C++14 #cpp #programming 👉 @cpp_lib

👩‍💻 Что должен знать востребованный разработчик на С++? Расскажет Александр Ключев — ведущий программист в «Новые облачные
👩‍💻 Что должен знать востребованный разработчик на С++? Расскажет Александр Ключев — ведущий программист в «Новые облачные технологии». Приходите на бесплатный практический урок «C++20 динамическое выделение памяти во время компиляции» от OTUS. На вебинаре вы узнаете: - как работает динамическое выделение памяти на этапе компиляции в С++20; - зачем это нужно и где можно использовать. 🤝 Встречаемся 15 февраля в 20:00 мск в рамках курса «C++ Developer. Professional». Доступна рассрочка на обучение! ➡️ Пройдите короткий тест прямо сейчас, чтобы посетить бесплатный урок и получить запись: https://vk.cc/cur7TO Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

Следует ли проверять указатель на NULL перед вызовом функции free? Короткий ответ: нет. Тем не менее, раз про это вновь и вно
Следует ли проверять указатель на NULL перед вызовом функции free? Короткий ответ: нет. Тем не менее, раз про это вновь и вновь спрашивают на Reddit, Stack Overflow и других сайтах, пришло время подробно разобрать эту тему. Оказывается, есть много интересного, о чём можно порассуждать. https://habr.com/ru/companies/pvs-studio/articles/791798/ #cpp #programming 👉 @cpp_lib

Верле: разрешаем коллизии Часть 1 Всех приветствую! Сегодня мы попробуем написать некое подобие простейшего физического движк
Верле: разрешаем коллизии Часть 1 Всех приветствую! Сегодня мы попробуем написать некое подобие простейшего физического движка. https://habr.com/ru/articles/775228/ Часть 2 В прошлой части мы искали коллизии самым примитивным образом - перебирали все пары объектов и сравнивали сумму их радиусов с расстоянием между их центрами. При таком подходе максимальное число объектов, которое наш движок мог выдержать, составляло несколько сотен. Возникает закономерный вопрос: зачем проверять на пересечение окружности, которые находятся далеко друг от друга? Действительно, теперь мы будем поступать чуть хитрее. https://habr.com/ru/articles/778482/ #cpp #programming 👉 @cpp_lib

Как добавить non-copyable и non-movable объект в std::map или std::unordered_map struct weird { int value; std::mutex mtx; }; std::map<int, weird> table; table.insert({ 1, {} }); // nope table.insert_or_assign(1, weird{}); // nope table.emplace({ 1, {} }); // nope table.emplace(1, weird{}); // nope table.try_emplace(1, weird{}); // nope https://devblogs.microsoft.com/oldnewthing/20231023-00/?p=108916 #cpp #programming 👉 @cpp_lib

💪 Пройди тест по C++ и проверь свои знания. Ответишь — пройдешь на продвинутый курс "C++ Developer. Professional" от OTUS по специальной цене + получишь запись мастер-класса от преподавателя курса. ⛔️ ПРОЙТИ ТЕСТ: https://vk.cc/cugzY3 Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

Что нам недодали в C++ Уже более десяти лет я профессионально занимаюсь C++ разработкой. Я вошел в профессию 2013 году, в сам
Что нам недодали в C++ Уже более десяти лет я профессионально занимаюсь C++ разработкой. Я вошел в профессию 2013 году, в самый момент, когда комитет по стандартизации языка C++ раскочегарился и встал на рельсы трехлетних релизов обновленных стандартов языка. Уже был выпущен C++11, в котором была введена куча самых заманчивых новшеств, существенно освеживших язык. Однако, далеко не каждому была доступна роскошь использовать все эти нововведения в рабочем коде, и приходилось сидеть на унылом C++03, облизываясь на новый стандарт. Вместе с тем, несмотря на все разнообразие новых фич, внедряющихся в язык, я от проекта к проекту наблюдал и поныне наблюдаю одну и ту же повторяющуюся картину: helper-файлы, helper-контейнеры, в которых зачастую реализуются одни и те же вещи, восполняющие то, чего нет в STL. Я не говорю о каких-то узкоспециализированных специфических структурах и алгоритмах — скорее о вещах, без которых не получается комфортно разрабатывать программный продукт на C++. И я вижу, как разные компании на различных проектах сооружают одни и те же самопальные решения, просто потому что они естественны, и на них есть спрос. А предложение отсутствует, по крайней мере в STL. В статье я хотел собрать самые яркие примеры того, что видел и использовал в разработке. Но в процессе сбора всех отсутствующих из коробки в C++ фич, внезапно для себя обнаружил, что часть из них уже покрыта новыми стандартами языка, полностью или частично. Поэтому данная статья — скорее некая рефлексия и книга жалоб о том, чего не было очень долго, но оно в итоге пришло в язык; и о том, что все еще отсутствует в стандарте. Статья не претендует ни на что, скорее просто поболтать о повседневном C++. https://habr.com/ru/articles/786582/ #cpp #programming 👉 @cpp_lib

Пишем свой собственный текстовый редактор Это инструкция, которая покажет вам, как создать текстовый редактор на языке C. Тек
Пишем свой собственный текстовый редактор Это инструкция, которая покажет вам, как создать текстовый редактор на языке C. Текстовый редактор представляет собой kilo от antirez, с некоторыми изменениями. Это около 1000 строк языка C в одном файле без зависимостей, и в нем реализованы все основные функции, которые вы ожидаете от минимального редактора, а также подсветка синтаксиса и функция поиска. В этой инструкции вы пройдете путь создания редактора в 184 шага. На каждом шаге вы будете добавлять, изменять или удалять несколько строк кода. На большинстве шагов вы сможете наблюдать за внесенными изменениями, скомпилировав и запустив программу сразу после этого. https://viewsourcecode.org/snaptoken/kilo/index.html #cpp #programming 👉 @cpp_lib

Этот пост о том небольшом дополнении, которым мы можем снабдить builder-классы Я согласен с Клаусом Иглбергером, который призвал говорить о дизайне программного обеспечения на Meeting C++ 2022. Этот пост - всего лишь маленький вклад в это дело. https://marcoarena.wordpress.com/2023/01/31/the-toggle-builder/ #cpp #programming 👉 @cpp_lib

Introduction to C & GUI Programming Author: Simon Long (2019) Популярный язык программирования C используется в огромном количестве приложений - от крошечных микроконтроллеров, используемых в тостерах и часах, до полноценных операционных систем. Первая половина этой книги представляет собой введение в язык C и охватывает основы написания простых программ для командной строки. Во второй половине книги показано, как использовать инструментарий пользовательского интерфейса GTK вместе с C для создания многофункциональных GUI-приложений, которые можно запускать на рабочем столе. Не требуется никакого опыта работы с C или GTK, даже если вы абсолютный новичок, эта книга научит вас всему, что нужно знать. @cpp_knigi

Запускаем управление файлами метаданных Пакет C или C++ обычно состоит из нескольких артефактов C и C++, заголовков, скомпили
Запускаем управление файлами метаданных Пакет C или C++ обычно состоит из нескольких артефактов C и C++, заголовков, скомпилированных библиотек и исполняемых файлов. Но есть и другие файлы, которые могут быть не нужны для обычного использования такого пакета, но которые могут быть очень важны по техническим или деловым причинам, например, для регулирования, соответствия, безопасности, воспроизводимости и отслеживаемости. Вот некоторые примеры: Полные журналы сборки Исполняемые файлы тестов Результаты выполнения набора тестов Артефакты отладки, такие как тяжелые файлы .pdb. Результаты анализа покрытий, санитайзеров или других инструментов анализа исходного кода или бинарных файлов Контекст и метаданные о сборке, точная машина, окружение, автор, данные CI Другие файлы, связанные с соблюдением требований и безопасностью https://blog.conan.io/2023/10/24/Conan-launches-metadata-files.html #cpp #programming 👉 @cpp_lib

Память как у пингвина: Работа памяти в Linux Начнем издалека. В спецификации любого компьютера и в частности сервера непремен
Память как у пингвина: Работа памяти в Linux Начнем издалека. В спецификации любого компьютера и в частности сервера непременно числится надпись "N гигабайт оперативной памяти" - именно столько в его распоряжении находится физической памяти. Задача распределения доступных ресурсов между исполняемым программным обеспечением, в том числе и физической памяти, лежит на плечах операционной системы, в нашем случае Linux. Для обеспечения иллюзии полной независимости, она предоставляет каждой из программ свое независимое виртуальное адресное пространство и низкоуровневый интерфейс работы с ним. Это избавляет их от необходимости знать друг о друге, размере доступной физической памяти и текущей её занятости. Адреса в виртуальном пространстве процессов называют логическими. Для отслеживания соответствия между физической и виртуальной памятью ядро Linux использует иерархический набор структур данных в своей служебной области физической памяти (только оно работает с ней напрямую), а также специализированные аппаратные контуры, которые в совокупности называют MMU. Следить за каждым байтом памяти в отдельности было бы накладно, по-этому ядро оперирует достаточно большими блоками памяти - страницами, типовой размер которых составляет 4 килобайта. https://habr.com/ru/articles/777250/ #cpp #programming 👉 @cpp_lib

Разработка кросплатформенного приложения на Qt с использованием нейросетей, обученных на tensorflow Раз уж Вы заинтересовались данной статьёй, то ожидается, что Вы умеете программировать на с++ с использованием библиотеки Qt и разрабатывать нейросети на Python c использованием библиотеки tensorflow. Соответственно остаётся только понять как использовать обученные Вами нейросетевые модели в Qt проектах. https://habr.com/ru/articles/719888/ #cpp #programming 👉 @cpp_lib

👩‍💻 Как разработчику на С++ оптимизировать работу? Расскажет Александр Ключев — руководитель команды разработки в «Новые об
👩‍💻 Как разработчику на С++ оптимизировать работу? Расскажет Александр Ключев — руководитель команды разработки в «Новые облачные технологии». Встречаемся на бесплатном практическом уроке «Вычисления на этапе компиляции в языке C++» от OTUS. На вебинаре вы: ⬇️ узнаете, как выполнять часть работы программ на С++ за счет вычислений на этапе компиляции; ⬇️ научитесь делать вычисления с помощью шаблонов, constexpr функций и замыканий; ⬇️ познакомитесь с другими полезными инструментами, которые можно использовать на этапе компиляции программ. 🤝 Встречаемся 1 февраля в 20:00 мск в рамках курса «C++ Developer. Professional». Доступна рассрочка на обучение! ➡️ Пройдите короткий тест прямо сейчас, чтобы посетить бесплатный урок и получить запись: https://vk.cc/cu7kbe Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576