Обложка канала

Библиотека C/C++ разработчика. Страница 3

14677 @cppproglib

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

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

    В работе используете linux, macOS или Windows? Расскажите в комментариях ⬇️ #интерактив
  • Библиотека C/C++ разработчика

    std::thread std::thread является частью стандартной библиотеки C++ и предоставляет возможность создания и управления потоками выполнения. Он позволяет запускать функции в отдельных потоках, обеспечивая параллельное выполнение кода. Обратите внимание, что после создания потока std::thread, вы должны вызвать join() или detach() для корректной обработки завершения потока. В приведенном примере мы использовали join(), чтобы основной поток дождался завершения потока t1. Если вы вызываете join() после завершения потока, программа может выдать исключение или вызвать неопределенное поведение. #код
  • Библиотека C/C++ разработчика

    ⚙️ 3 совета по использованию Git для начинающих Разберем полезные советы по работе с Git: просмотр журналов, сводки коммита и сравним команды merge и rebase. Читать статью
  • Реклама

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

    Какие есть особенности статических полей класса в языке С++? Статические поля класса в C++ имеют несколько особенностей: 1. Общий доступ: статические поля являются общими для всех объектов этого класса. Это означает, что изменение значения статического поля в одном объекте, изменяет его для всех объектов этого класса. 2. Инициализация: статические поля инициализируются только один раз, когда программа запускается. Значения статических полей сохраняются на протяжении всего времени работы программы. 3. Доступ: доступ к статическим полям класса возможен без создания объекта этого класса, например, используя имя класса и оператор :: . 4. Память: статические поля класса хранятся не в куче или стеке, а в статической области памяти, что позволяет им занимать память только один раз, независимо от количества созданных объектов класса. #вопросы_с_собеседований
  • Библиотека C/C++ разработчика

    Старый пример, не дающий интернету покоя. Проверим, как у вас с математикой?
  • Библиотека C/C++ разработчика

    Какой средой разработки пользуетесь? #интерактив
  • Библиотека C/C++ разработчика

    🔥Хотите узнать о новых подводных камнях языка С? Расскажем о них на открытом уроке 20 июля в 20:00. Вебинар приурочен к старту онлайн-курса «Программист С». На вебинаре разберем: — устаревшие и удалённые возможности языка; — новые языковые конструкции; — изменения в стандартной библиотеке. ✨Занятие подойдёт: — действующим разработчикам и авторам библиотек на языке C; — новичкам, интересующимся развитием низкоуровневых языков программирования. В результате вы получите знания о новых выразительных возможностях и новых подводных камнях языка C. После вебинара курс можно приобрести в рассрочку. ✅Зарегистрируйтесь, чтобы принять участие: https://otus.pw/zRzL/
  • Библиотека C/C++ разработчика

    Очередной #дайджест по C/C++: 🤖 Как вывести форматированный текст на экран в C++ 🤖 Трюк с LD_PRELOAD 🤖 В {n} раз быстрее Си 🤖 В Python 3 + C есть ли смысл? 🤖 STM32 — Моделирование аналоговых сигналов и АЧХ (математическим методом) 🤖 SectorC: компилятор Си в пределах 512 байт 🤖 Вызываем демонов с printf
  • Библиотека C/C++ разработчика

    C++23: alias объявления в операторах инициализации цикла for Иногда принятые предложения вводят совершенно новые фичи, иногда они приносят исправления ошибок, а иногда находятся где-то посередине. Читать статью
  • Библиотека C/C++ разработчика

    Бинарный поиск Чаще всего бинарный поиск (бинпоиск) используют, чтобы найти элемент в отсортированном массиве. Мы начинаем искать с середины массива. Если находим то, что нужно, или если больше нечего рассматривать, мы останавливаемся. В противном случае мы решаем, в каком направлении — вправо или влево от середины — мы должны продолжить поиск. Так как пространство поиска после каждой проверки делится на два, то время выполнения алгоритма — O(log n). Код выводит следующее: бинарный поиск: нашли по индексу 4 Если искомый элемент не найден, но мы хотим найти ближайший элемент меньше или больше запроса, то можно использовать функции STL lower_bound() и upper_bound(). #код
  • Библиотека C/C++ разработчика

    Герои Кода и Магии: анализ игрового движка VCMI Порой хочется поностальгировать и поиграть в любимую старую игру, но некоторые вещи в таких играх могут показаться устаревшими. Для того чтобы вдохнуть новую жизнь в старый проект, некоторые энтузиасты ставят себе задачу воссоздать и улучшить его исходный код. Авторы статьи решили проверить с помощью статического анализатора PVS-Studio, насколько хорошо справляются с этой задачей разработчики VCMI. Читать статью
  • Библиотека C/C++ разработчика

    #вопросы_с_собеседований Напишите базовую реализацию std::shared_ptr. std::shared_ptr — умный указатель, который позволяет разделять владение объектом между несколькими shared_ptr. Когда последний shared_ptr уничтожается, он автоматически удаляет объект.
  • Библиотека C/C++ разработчика

    SIMD (Single Instruction Multiple Data) Это технология, позволяющая одновременно выполнять одну и ту же операцию над несколькими наборами данных. В современных процессорах SIMD-инструкции реализованы для ускорения работы с векторными операциями. В C++ SIMD-инструкции доступны через библиотеку immintrin.h. В данном примере функция addVectors принимает на вход указатели на три массива a, b и c, каждый из которых содержит 8 элементов типа float. С помощью функции _mm256_loadu_ps происходит загрузка первого и второго векторов в регистры, затем с помощью функции _mm256_add_ps происходит их покомпонентное сложение. Результат сохраняется в третий вектор с помощью функции _mm256_storeu_ps. #код
  • Библиотека C/C++ разработчика

    Использование выражений сгиба С C++17 мы можем использовать складывать выражения для объединения последовательности std::arrays, это элегантное и эффективное решение продемонстрировано выше. #код
  • Библиотека C/C++ разработчика

    OpenCat — платформа с открытым исходным кодом для разработки четвероногих роботов в стиле Boston Dynamics, которая идеально подходит для STEM, программирования робототехники, приложений для робототехники IoT, сервисов приложений для робототехники с улучшенным ИИ и исследований. Открыть библиотеку
  • Реклама

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

    Очередной #дайджест по C/C++: 🤖 Внутри boost::concurrent_flat_map 🤖 C++23: следующий стандарт C++ 🤖 Конечный автомат с std::variant 🤖 Отчет о поездке: C++ on Sea 2023 🤖 Ограничьте пользовательские конверсии И пара полезных инструментов: QGIS — это бесплатная кросс-платформенная (lin/win/mac) географическая информационная система с открытым исходным кодом. shotcut — кроссплатформенный (Qt), видеоредактор с открытым исходным кодом (GPLv3)
  • Библиотека C/C++ разработчика

    std::variant Это фича C++17, обеспечивающая типобезопасное объединение, позволяющее хранить и манипулировать значениями разных типов в одном объекте. Она является частью стандартной библиотеки C++ и определена в заголовке . Шаблонный класс std::variant похож на упрощенную версию union, но с дополнительной безопасностью типов и поддержкой различных операций. Основными функциями std::variant являются index(), valueless_by_exception(), operator=, emplace. В этом примере мы создаем объект var, который может содержать значения типов int, float или std::string. Мы присваиваем var различные значения и получаем их с помощью std::get. Однако, если мы попытаемся получить значение, используя неправильный тип (например, std::get(var), когда вариант содержит std::string, это вызовет исключение std::bad_variant_access. #код
  • Библиотека C/C++ разработчика

    Вышмат для тех, кто интересуется DS, ML, AI 👉 Подробности – https://proglib.io/w/6426c2a6 Как говорят наши студенты «Я понимаю, куда движется сфера IT, уже в каждой компании есть отдел, который отвечает за ИИ, эта сфера точно останется востребованной ближайшие 10-15 лет, поэтому сейчасл лучшее время начать учиться»‎ 💰Стоимость? – Доступна беспроцентная рассрочка от 2 499 рублей в месяц. Или сразу 29 990 рублей. Как проходит обучение? – Записанные лекции от преподавателей МГУ – Домашние задания и развернутая обратная связь – Чат с куратором и студентами Когда можно приступать? – В любой момент Оставить заявку на пробную версию курса «Математика для Data Science» – https://proglib.io/w/6426c2a6