Библиотека 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
加入频道
С++ - в телеграм !

Хотите бесплатно и эффективно выучить C++ или прокачать свои навыки программирования?

В канале ребята 24/7 пишут код, тестируют разные библиотеки, копаются в их настройках и применяют в работе. А потом делятся с подписчиками.

Ещё мы собрали маст-хэв папку для всех C++ разработчиков: https://yangx.top/addlist/CdBs5DLepLJmZjY6

Учиться бесплатно: @cpluspluc
std::hash

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

std::hash используется, например, в ассоциативных контейнерах, таких как std::unordered_map и std::unordered_set, для быстрого доступа к элементам по ключу.

Для пользовательского типа данных требуется явная специализация структуры std::hash для корректной работы хэширования.
#код
Часто ли вы прибегаете к помощи нейросетей в работе?
#интерактив
constexpr

constexpr — это ключевое слово в C++, которое используется для указания компилятору, что функция или переменная может быть вычислена во время компиляции. Это позволяет выполнить некоторые вычисления на этапе компиляции, вместо выполнения их во время выполнения программы.
#код
Очередной #дайджест по С++:

✍️ C++23: совместимость с C
В этом посте рассмотрены две статьи по C++23, которые были написаны из-за совместимости с C.

✍️ Мелочи: недостающая производительность в std::vector
Пост о замене популярного вектора.

✍️ Пять продвинутых техник инициализации в C++: От reserve() до piecewise_construct
В этой статье рассмотрены несколько продвинутых методов инициализации: от reserve() и emplace_back для контейнеров до piecewise_construct и forward_as_tuple для кортежей.

✍️ Индексы с графической структурой для масштабируемого, быстрого, свежего и фильтрованного поиска приближенного ближайшего соседа

✍️ SatDump
Стандартное программное обеспечение для обработки спутниковых данных.
Run-time type identification

Run-time type identification (RTTI) — это механизм, который позволяет программе определить тип объекта во время выполнения (в рантайме). Это означает, что вы можете определить фактический тип объекта, на который указывает указатель или ссылка, даже если его статический тип (определенный на момент компиляции) отличается.
#код
Рабочие контракты: высокопроизводительная асинхронная система управления задачами без блокировок

TL;DR; Рабочие контракты — это альтернатива очередям MPMC для использования при обработке асинхронных задач. Они обеспечивают превосходную производительность по сравнению с ведущими реализациями очередей MPMC без блокировки, особенно в условиях высокой конкуренции.

Читать статью
🔥🕑 10 признаков того, что пора увольняться

«Быть или не быть?», «Уйти или остаться?»: делаем вдох-выдох и принимаем важное решение.

🔗 Читать статью
🔗 Зеркало
Что выведет код сверху?

Ответ:
10
Объяснение:
Подобно struct и class, union может иметь методы. Подобно struct и в отличие от class, члены union по умолчанию являются общедоступными.

Поскольку данные-члены объединения совместно используют память, значение b становится таким же, как a.
#вопросы_с_собеседований
Самые полезные каналы для программистов в одной подборке!

Сохраняйте себе, чтобы не потерять 💾

🔥Для всех

Библиотека программиста — новости, статьи, досуг, фундаментальные темы
Книги для программистов
IT-мемы

Java

Библиотека джависта — полезные статьи по Java, новости и обучающие материалы
Библиотека Java для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Java — код, квизы и тесты
Вакансии для java-разработчиков

👾Data Science

Библиотека Data Science — полезные статьи, новости и обучающие материалы
Библиотека Data Science для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Data Science — код, квизы и тесты
Вакансии по Data Science, анализу данных, аналитике, искусственному интеллекту

🦫Go

Библиотека Go разработчика — полезные статьи, новости и обучающие материалы по Go
Библиотека Go для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Go — код, квизы и тесты
Вакансии по Go

🧠C++

Библиотека C/C++ разработчика — полезные статьи, новости и обучающие материалы по C++
Библиотека C++ для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по C++ — код, квизы и тесты
Вакансии по C++

💻Другие профильные каналы

Библиотека фронтендера
Библиотека шарписта
Библиотека мобильного разработчика
Библиотека хакера
Библиотека питониста
Библиотека devops’a
Библиотека тестировщика
Библиотека пхпшника

💼Каналы с вакансиями

Вакансии по питону, Django, Flask
Вакансии по фронтенду, джаваскрипт, React, Angular, Vue
Вакансии по C#, .NET, Unity
Вакансии по PHP, Symfony, Laravel
Вакансии по DevOps & SRE
Вакансии для мобильных разработчиков
Вакансии по QA тестированию
InfoSec Jobs — вакансии по информационной безопасности

📁Чтобы добавить папку с нашими каналами, нажмите 👉сюда👈
Стеганография, часть 3: JPEG

Это все еще развивающаяся область, здесь так много всего, на что стоит обратить внимание, но в этой статье автор сосредотачивается на визуальной целостности самого изображения.

Читать статью
std::make_shared

std::make_shared — это стандартная функция, используемая для создания объектов типа std::shared_ptr. Она позволяет создавать объекты типа std::shared_ptr без использования оператора new. Это сокращает код и упрощает его читаемость.

В этом примере мы создаем класс MyClass, имеющий поле value и метод Print(), выводящий значение поля value на консоль. Затем мы используем std::make_shared для создания объекта типа std::shared_ptr:
std::make_shared(42);

Обратите внимание, что таким способом созданный объект MyClass будет автоматически удален, когда на него не останется ссылок, даже если в вашем коде не указано delete.
#код
-35% на полугодовой курс по алгоритмам!

🌟 Алгоритмы и структуры данных🌟

23 390 рублей 35 990 рублей до 5 сентября

Курс для тех, кто хочет научиться работать с алгоритмами, подготовиться к собеседованию крупную IT-компанию и начать брать более сложные проекты.

🔥 Переходите и активируйте пробную версию курсаhttps://proglib.io/w/a6225775

Вас ждут:

– 150 практических заданий и 47 видеолекций

– бессрочный доступ к обучению

– поддержка преподавателя в чате

А также очень харизматичный спикер из Яндекса 🙌🏻
Лямбда-функция

Лямбда-функция (или просто лямбда) — это анонимная функция в C++, которая может быть определена непосредственно внутри кода. Лямбда-функции предоставляют более компактный и удобный способ создания небольших функций на лету, без необходимости объявления их отдельно.

Лямбда-функции также часто используются вместе с алгоритмами стандартной библиотеки C++, такими как std::for_each, std::transform, std::sort (как на примере выше), и другими, чтобы создавать более компактный и выразительный код.
#код
Очередной #дайджест по C++:

Собираем и запускаем калькулятор из Windows XP в среде Windows 10 c помощью GCC x64
Автор ковыряется в исходниках, создавая любопытные вещи.

Дорожная карта развития CLion, намечающая направление изменений для следующего релиза, CLion 2023.3: улучшение AI-assistant, поддержка Meson и Bazel, интеграция возможностей Compiler Explorer прямо в IDE.

Различные типы блоков управления общим указателем
О том, как отличаются контрольные блоки std::shared_ptr, созданные различными способами: на основе уже имеющегося указателя, с помощью std::make_shared, std::allocate_shared.

Базовый набор для решения задач на LeetCode/Codeforces, ч.4 Функциональные объекты C++
Очередная часть полезнейшего цикла статей.

PVS-Studio vs CodeLite: битва за идеальный код
Как улучшить качество и надёжность кодовой базы? Один из ответов на этот вопрос — использование статического анализа.
Когда вы последний раз использовали Copilot?
#интерактив
«Библиотека программиста» продолжает поиски контент-менеджера для ведения телеграм-каналов

Ищем человека, который грамотно пишет, разбирается в контенте и в одной из этих тем:
👉С++
👉Frontend
👉мобильная разработка
👉тестирование

Мы предлагаем частичную занятость и полностью удаленный формат работы — можно совмещать с основной и находиться в любом месте🌴

Подробнее о вакансии и форма для отклика — по ссылке.

Ждем вас в команде!
(Жизненный) cовет от создателя C++

Создатель C++, Бьёрн Страуструп, делится ценными жизненными советами, которыми, скажем прямо, могли бы воспользоваться все разработчики, независимо от их многолетнего опыта. По словам Бьерна, «вы не можете просто писать код», вам нужно развивать больше навыков, если вы хотите стать всесторонним успешным разработчиком. Посмотрите это неизданное интервью, если вы хотите получить вдохновение и рекомендации на своем пути разработчика от одного из OG.

Смотреть видео
Проверить, найден ли элемент в массиве С++

В С++ вы должны использовать std::findи проверить, указывает ли результирующий указатель на конец диапазона.
#вопросы_с_собеседований
Мocking

Мокирование — это процесс создания имитаций (моков) объектов или компонентов программы, чтобы тестировать код без необходимости использовать реальные зависимости.

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

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

Смотреть статью