Библиотека C/C++ разработчика | cpp, boost, qt
21K subscribers
1.57K photos
40 videos
16 files
3.74K links
Все самое полезное для плюсовика и сишника в одном канале.

По рекламе: @proglib_adv

Учиться у нас: https://proglib.io/w/d6cd2932

Наши каналы: https://yangx.top/proglibrary/9197

РКН: https://gosuslugi.ru/snet/67a5bac324c8ba6dcaa1ad17
加入频道
Взгляд внутрь memcmp на оборудовании Intel AVX2

memcmp — это функция стандартной библиотеки Cи, которая лексикографически сравнивает два массива. Она знакома программистам на Cи и часто используется в качестве строительного блока для строковых операций в других языках.

Читать статью
PIMPL (Pointer to Implementation)

PIMPL — это паттерн программирования, который позволяет скрыть внутреннюю реализацию класса от клиента, а также упростить перекомпиляцию кода и улучшить производительность.

Суть PIMPL-паттерна заключается в том, что все данные хранятся в отдельном класс, а в основном хранится только указатель на этот вспомогательный класс, в котором осуществляется вся работа с данными.

В данном примере пользователь класса MyObject не видит внутреннюю реализацию объекта, что позволяет добавлять/удалять поля без необходимости изменять интерфейс класса. Работа с внутренними данными осуществляется через методы класса Impl, которые вызываются в функциях-членах класса MyObject.
#код
Сколько курсов вы купили и не стали проходить?
Расскажите в комментариях ⬇️
#интерактив
🤝 5 soft skills, которые помогут тебе дорасти до Senior-разработчика

Как думаешь, что нужно уметь, чтобы стать крутым Senior-разработчиком или даже создать свой успешный стартап? Спойлер: нет, не только хорошо кодить.

🔗 Основной сайт
🔗 Зеркало
В чем проблема следующего фрагмента?

Из спецификации (C++11 §5.3.5/3):

Если статический тип подлежащего удалению объекта отличается от его динамического типа, статический тип должен быть базовым классом динамического типа подлежащего удалению объекта и иметь виртуальный деструктор или поведение undefined.
#вопросы_с_собеседований
Unity запускает платформы Sentis и Muse AI для создания 3D в реальном времени.

Читать статью
emuThreeDS

Эмулятор Nintendo 3DS для устройств Apple на базе Citra.

Открыть страницу
AMD — вечная канарейка Intel

Если прямо сейчас посмотреть на рынок процессоров, то может сложиться обманчивое впечатление, что AMD на равных конкурирует за место под солнцем с компанией Intel. Кто-то может посчитать, что так было всегда. Реальность же заключается в том, что если Intel всю свою историю колебалась между полной гегемонией и просто доминированием на рынке процессоров для персональных компьютеров и серверов, то AMD в хорошие моменты своей истории была строго второй, а в плохие — находилась буквально при смерти.

Читать статью
Какие сериалы/фильмы о программировании мотивируют вас продолжать обучение?
#интерактив
Что за ошибка в приведенном ниже коде и как ее исправить?

Последним аргументом memset должен быть sizeof(*bar), а не sizeof(bar). sizeof(bar) вычисляет размер bar (то есть самого указателя), а не размер структуры, на которую указывает bar. Поэтому код можно исправить, используя sizeof(*bar) в качестве последнего аргумента вызова memset.
Сравниваем 2 строки на одинаковые буквы

Для сравнения двух строк на одинаковые буквы можно использовать стандартную функцию strcmp() из библиотеки.

В данном примере две строки "hello" и "holle" сравниваются на одинаковые буквы. Функция strcmp() возвращает 0, если строки совпадают, и любое другое число, если строки не совпадают. Если строки содержат одинаковые буквы, выводится сообщение "Строки содержат одинаковые буквы", иначе - "Строки содержат разные буквы".
Числа с плавающей точкой для гуманитариев. Что это такое и как они работают

На данную тему уже написано большое количество статей, однако многие из них используют пугающие математические формулы и нотации, что может быть сложно для понимания новичкам. В этой статье автор простым языком попытался раскрыть данную тему и помочь решить ряд вопросов.

Читать статью
Алгоритмы компрессии данных: принципы и эффективность

В современном информационном обществе объем данных стремительно растет, и с каждым годом все больше информации генерируется и обрабатывается. В связи с этим важным аспектом стало умение эффективно управлять данными, чтобы не только сохранить информацию, но и оптимизировать ее использование и передачу. Одним из основных инструментов для достижения этой цели является компрессия данных.

Читать статью
🔥 Шаблоны и метапрограммирование в C++

Урок для тех, кто уже чётко понимает что такое ООП, может отличить инкапсуляцию от сокрытия данных и знает что такое полиморфизм.

Здесь вы узнаете про шаблоны, как это представляет себе язык, про явную и частную специализацию, про паттерн Singleton.

Смотреть видео
🔥 Теоретический минимум по Computer Science

Computer Science рассказывает о том, как работает компьютер, что такое двоичная система, что за структуры данных и как их использовать.

Это видео — база по Computer Science, которую должен знать каждый программист. Здесь про блок схемы, вентили и работу двоичных систем.

Смотреть видео
Узнаем сколько лет человеку по дате его рождения

В этом коде мы запрашиваем у пользователя его дату рождения, а затем получаем текущую дату с помощью функции time. Затем мы используем структуру tm для извлечения года, месяца и дня из текущей даты и вычисляем количество полных лет с помощью формулы now->tm_year + 1900 - year. Если текущий месяц и день меньше, чем месяц и день рождения, мы уменьшаем возраст на 1. Наконец, мы выводим результат на экран.
#код
Пользуетесь ли вы какими-либо иностранными новостными ресурсами по программированию на регулярной основе? Если да, то какими?
#интерактив
Важно: правила площадки❗️

1️⃣ За спам, рекламу, ботоводство, скам — бан и удаление всех комментариев

2️⃣ За оскорбления группы/канала/админа/других участников, политические дебаты — первый раз удаление, второй раз — профилактический бан на неделю, третий раз — бан

3️⃣ За ссылки на нелегальные ресурсы — первый раз удаление, второй раз — бан

Напоминаем, что написать нам можно сюда: @proglibrary_feedback_bot

Пожалуйста, соблюдайте правила — мы со своей стороны тоже будем стараться максимально оперативно модерировать комментарии.
Как сделать увлекательное видео по программированию

Создание скринкаста может стать для вас отличным способом поделиться своими знаниями и помочь другим разработчикам в вашей команде. Однако не все видеоуроки одинаково эффективны. В этом руководстве описано, как создавать увлекательные и информативные видеоролики по программированию, которые произведут впечатление на ваших коллег.

Читать статью