cpp_lib | Unsorted

Telegram-канал cpp_lib - Библиотека C/C++ разработчика

2630

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

Subscribe to a channel

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

Ускорение вставки отсортированного (или в основном отсортированного) списка ключей в std::map или другой упорядоченный ассоциативный контейнер

https://devblogs.microsoft.com/oldnewthing/20230522-00/?p=108226

#cpp #programming

👉 @cpp_lib

Читать полностью…

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

Многопоточность и Thread Pool в C++

За время работы в сфере IT у меня появилась своя собственная библиотека на языке C++, которая медленно, но верно обрастает различными полезными модулями. Не все включаемые в нее модули написаны мною с нуля, но я всегда стараюсь так или иначе адаптировать их под свои нужды. Сегодня у меня появилось непреодолимое желание поделиться с вами некоторыми фрагментами моей библиотеки.

https://habr.com/ru/articles/738250/

#cpp #programming

👉 @cpp_lib

Читать полностью…

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

Шпаргалка по C++

#cpp #programming

👉 @cpp_lib

Читать полностью…

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

Как делать не надо: C++ велосипедостроение для профессионалов

источник

#cpp #programming

👉 @cpp_lib

Читать полностью…

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

Коллеги, приглашаем вас на вебинар, где Валерий Харисов расскажет о том, как искать и находить неочевидные утечки исходного кода и содержащихся в них секретов.
🕚 29 июня в 15:00 (МСК)

Leak-Search — сервис сканирования публичных репозиториев на наличие утечек исходного кода, конфигураций и конфиденциальных данных компании.
Разработан и поддерживается командой по ИБ группы компаний QIWI

👨‍💻На вебинаре рассмотрим:

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

Все на реальных кейсах крупнейших российских и зарубежных компаний, утечки которых были найдены с помощью Leak-Search, либо известны публично.

Для участия на вебинаре зарегистрируйтесь по ссылке
https://link.webinar.fm/register/55392181/7xyczjsv

🕚Ждем вас 29 июня в 15:00 (МСК)

❗️На вебинаре вы получите доступ к пробному периоду❗️

Читать полностью…

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

🔥Почему сегодня язык GO завоевывает все большую популярность и становится наиболее востребованным среди разработчиков и одним из самых распространенных в мире? Возможно, вы уже задумывались над тем, чтобы начать изучать GO. Если да, то у нас для вас отличная новость. В OTUS стартует курс Golang Developer Basic!

📣26 июня в 20:00 (мск) приглашаем на открытый урок курса “За что разработчики любят GO?”, на котором вы сможете познакомиться с преподавателем и программой курса, а также во время занятия мы приоткроем завесу причин популярности GO и обсудим:

— почему язык GO так популярен в разработке веб-сервисов и приложений;
— особенности GO и нововведения;
— в каких сферах разработки он используется.

👉🏻Для участия зарегистрируйтесь https://otus.pw/x3bSs/

После урока вы сможете понять подходит ли Вам язык GO и программа курса.
Не упустите возможность протестировать формат обучения!
Возможны разные способы оплаты и рассрочка .
Нативная интеграция подробная информация о продукте на сайте www.otus.ru

Читать полностью…

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

Массивы в C++

Продолжаем серию «C++, копаем вглубь». Цель этой серии — рассказать максимально подробно о разных особенностях языка, возможно довольно специальных. Это четвертая статья из серии, первые три, посвященные перегрузке в C++, находятся здесь, здесь и здесь.

Эта статья посвящена массивам. Массивы можно отнести к наиболее древним слоям C++, они пришли из первых версий C. Тем не менее, массивы вошли в объектно-ориентированную систему типов C++, хотя и с определенными оговорками. Программисту важно знать об этих особенностях, чтобы избежать потенциальных ошибок. В статье также рассмотрено другое наследие C – тривиальные типы и неинициализированные переменные. Часть нововведений C++11, С++14, С++17 затрагивают работу с массивами, все эти новые возможности также подробно описаны. Итак, попробуем рассказать о массивах все.

https://habr.com/ru/articles/495444/

#cpp #programming

👉 @cpp_lib

Читать полностью…

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

Ссылки и ссылочные типы в C++

Продолжаем серию «C++, копаем вглубь». Цель этой серии — рассказать максимально подробно о разных особенностях языка, возможно довольно специальных. Это пятая статья из серии, список предыдущих статей приведен в конце в разделе 6. Серия ориентирована на программистов, имеющих определенный опыт работы на C++. Эта статья посвящена ссылкам и ссылочным типам в C++.

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

https://habr.com/ru/articles/646005/

#cpp #programming

👉 @cpp_lib

Читать полностью…

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

👨‍💻 Yandex Cloud, Yandex 360 и Yandex Infrastructure — это точки притяжения талантливых инженеров

Приходите на прямой эфир, чтобы узнать про ключевые вызовы команды.

На встрече расскажем, как мы развиваем инфраструктуру Яндекса, строим публичную облачную платформу и виртуальный офис для клиентов.

📍20 июня 2023 г., в 16:00

Эфир будет полезен бэкенд-разработчикам и SRE, которым интересно узнать, какие задачи мы решаем и кого мы ищем.

Регистрируйтесь по ссылке!

Читать полностью…

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

Multithreading in C++ (потоки, блокировки, задачи, атомарные операции, очереди сообщений)

https://www.youtube.com/watch?v=z6M5YCWm4Go

#cpp #programming

👉 @cpp_lib

Читать полностью…

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

Что такое Low Latency C++? Доклад Тимура Думлера.

Часто говорят, что C++ - отличный язык для систем с низкой задержкой, таких как высокочастотная торговля, обработка звука и видеоигры. Но что именно мы подразумеваем под "низкой задержкой"? Чем это отличается от "высокой производительности"? И что делает C++ отличным языком для этого? Этот доклад - попытка ответить на эти вопросы. Мы рассмотрим примеры использования низкой задержки в этих различных отраслях, установим их общие черты и различия, обсудим типичные проблемы в системах с низкой задержкой, а также методы C++ для их преодоления.

источник

#cpp #programming

👉 @cpp_lib

Читать полностью…

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

🫵 Пройди тест по C++ и проверь свои знания.

Ответишь
— пройдешь на продвинутый курс "C++ Developer. Professional" от OTUS по специальной цене + получишь запись мастер-класса от преподавателя курса.

👉 ПРОЙТИ ТЕСТ: https://otus.pw/Glo5/

Нативная интеграция. Информация о продукте www.otus.ru

Читать полностью…

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

С++ (1 курс, весна 2023) Мещерин И.С. Часть 2

C++ 8. std::function / std::bind / std::any
C++ 9. unions / small strings optimization
C++ 10. std::variant / std::visit
C++ 11. std::launder. std::visit impl. Инстанцирование шаблонов. SFINAE, enable_if.
С++ 12. Концепты / constexpr function
C++ 13. Objects as non-type template parameters / consteval / std::is_constant_evaluated

источник

#cpp #programming

👉 @cpp_lib

Читать полностью…

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

Создание веб-сайта с помощью C++

#cpp #programming

👉 @cpp_lib

Читать полностью…

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

Статья о std::jthread

https://www.nextptr.com/tutorial/ta1588653702/stdjthread-and-cooperative-cancellation-with-stop-token

#cpp #programming

👉 @cpp_lib

Читать полностью…

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

💪 Пройди тест по C++ и проверь свои знания.

Ответишь
— пройдешь на продвинутый курс "C++ Developer. Professional" от OTUS по специальной цене + получишь запись мастер-класса от преподавателя курса🎁 .

⛔️ ПРОЙТИ ТЕСТ: https://otus.pw/acjs/

Успей присоединится к июньской группе!

Нативная интеграция. Информация о продукте www.otus.ru

Читать полностью…

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

29 июня в Екатеринбурге пройдёт бесплатный митап Yandex Infrastructure.

На нём расскажем про приватное контейнерное облако, про использование простаивающих ресурсов во внутреннем облаке Яндекса и про YTsaurus — платформу для обработки и хранения больших данных.


Встреча будет полезна для backend-разработчиков, DevOps- и SRE-инженеров.

Начало мероприятия в 18:00.
Регистрация по ссылке

Читать полностью…

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

⚡️Начните применять C на практике и решайте задачи Middle-уровня!

3 июля в 20:00 мск пройдет открытый урок «Встраиваем экспертную систему в программу на С» в OTUS. На этом вебинаре вы поймете, как объединить обычный код на С и экспертную систему.

✨Занятие пройдет в рамках онлайн-курса «Программист С» и будет полезно разработчикам различных встраиваемых систем: подсистем умного дома, роботизированных и других систем.

На встрече разберем:

— Что такое экспертная система
— Когда она используется
— На чем создается экспертная система
— Язык разработки экспертных систем и библиотеку CLIPS

Не упустите возможность сделать первый шаг в освоении языка! А продолжить сможете на курсе, доступном в рассрочку.

👉Для участия зарегистрируйтесь: https://otus.pw/z28t/

Нативная интеграция. Информация о продукте www.otus.ru

Читать полностью…

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

На грани между exceptions и std::expected

Посмотрев на новый тип из грядущего стандарта под названием std::expected я пришел к интересному на мой взгляд мнению, что можно немного переосмыслить его суть и сделать несколько ближе к исключениям.

В данной статье хочу немного рассказать о небольшом исследовании реализации expected, в которой используется стирание типа ошибки.

https://habr.com/ru/articles/737408/

#cpp #programming

👉 @cpp_lib

Читать полностью…

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

Создание игр на C++: Марио (платформер)

#cpp #programming

👉 @cpp_lib

Читать полностью…

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

Рефакторинг с использованием C++17 std::optional

Существует множество ситуаций, когда вам нужно выразить, что что-то является "необязательным" - объект, который может содержать значение или нет. У вас есть несколько вариантов реализации такого случая, но в C++17 появился, пожалуй, самый полезный способ: std::optional.

Сегодня я подготовил один пример рефакторинга, где вы можете научиться применять эту новую возможность C++17.

https://www.cppstories.com/2018/04/refactoring-with-c17-stdoptional/

#cpp #programming

👉 @cpp_lib

Читать полностью…

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

🟡 Пройдите тест по С++

Ответьте на 20 вопросов и проверьте, насколько хорошо вы знаете язык. Сможете сдать — пройдёте на продвинутый онлайн-курс "C++ Developer. Professional" со скидкой!

🚀На этом курсе вы:
- Научитесь прикладному применению стандартов C++11 / C++14 / C++17.
- Освоите асинхронное и многопоточное программирование.
- Получите глубокое представление о шаблонной магии и паттернах проектирования.
Наглядным результатом вашей работы станет выпускной проект.
- Возможна оплата курса в рассрочку.

👉🏻 ПРОЙТИ ТЕСТ ОНЛАЙН-КУРСА ПО C++

Нативная интеграция. Информация о продукте www.otus.ru

Читать полностью…

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

Использование классов enum в качестве битовых масок.

Перечисления являются основной частью языков C и C++ и повсеместно используются для моделирования логически различных состояний в программных системах. Однако могут возникнуть ситуации, когда необходимо смоделировать набор состояний, не исключающих друг друга. Есть несколько других способов написать это, включая определение битовых полей, использование std::bitset или даже std::vector<bool>, но вы также можете использовать для этого перечисления, рассматривая их как битмаски.

https://voithos.io/articles/enum-class-bitmasks/

#cpp #programming

👉 @cpp_lib

Читать полностью…

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

В крайности – Fold-выражения

Выражения сложения существуют в C++ начиная с C++17 и существенно влияют на то, как мы обращаемся с переменными шаблонами. Когда-то давно я писал о выражениях сложения в рамках серии о метапрограммировании, но сегодня мы рассмотрим крайние случаи использования выражений сложения.

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

https://cppsenioreas.wordpress.com/2023/05/22/into-the-extreme-fold-expressions/

#cpp #programming

👉 @cpp_lib

Читать полностью…

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

⌨️ Как C++ программисту использовать Copilot и ChatGPT в ежедневных задачах по разработке?

Расскажем на открытом уроке от OTUS 20 июня в 20:00.

Что будет на занятии:
▫️Copilot plugin к VSCode для языка C++;
▫️Cоздание функций по описанию;
▫️Генерация boilerplate кода;
▫️Refactoring и code review с помощью ChatGPT.

Это открытое занятие пройдёт в рамках специализации "С++ Developer" и будет полезно программистам на C++, которые хотят повысить свою продуктивность и программистам на других языках.

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

👉 Успевайте записаться на урок: https://otus.pw/qjtQ/

Нативная интеграция. Информация о продукте www.otus.ru

Читать полностью…

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

🤔 Знаете ли вы, что изменив подход к проектированию IT-систем можно радикально уменьшить поверхность атаки? До такой степени, что ваши разработки приобретут кибериммунитет и станут практически неприступными для большинства существующих и ещё неизвестных кибератак даже без дополнительной защиты?

😲 21 июня на онлайн-конференции Kaspersky Cyber Immunity Developers Night специалисты Лаборатории Касперского поделятся 20-летним опытом создания систем secured-by-design. За это время сформировался развитый технологический стек, методология и паттерны проектирования, полезные разработчикам различного профиля. Обсудим:
👉 Существуют ли "безопасные" и "небезопасные" языки программирования?
👉 Как реализовать многоэтапный контроль качества, отладку и экспериментальное управление в целях безопасности?
👉 Как применять GPU при разработке современных графических интерфейсов и использовать аппаратное ускорение?
👉 Какие кибериммунные решения уже существуют в автопроме и IoT, и как они работают?

🤙 Вход после регистрации

Читать полностью…

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

Live++ (универсальный инструмент горячей перезагрузки C++), работающий на Xbox Series X

источник

#cpp #programming

👉 @cpp_lib

Читать полностью…

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

С++ (1 курс, весна 2023) Мещерин И.С. Часть 1

C++ 1. std::map, std::list
C++ 2. unordered_map, allocator_traits и allocator aware containers
C++ 3. Перегрузка new/delete, Alignments and bit fields, Scoped allocators, std::move
C++ 4. Реализация std::move, rvalue and lvalue + Семинар
С++ 5. Perfect forwarding and Universal references
C++ 6. xvalues, RVO, copy elision, move_if_noexcept
C++ 7. Лямбда-функция

источник

#cpp #programming

👉 @cpp_lib

Читать полностью…

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

🔥 Познакомьтесь с Boost — мощным инструментом для С++ разработчиков!

🔵 14 июня в 20:00 приглашаем вас на открытый урок «Знакомство с Boost».
Вебинар пройдет в преддверии запуска онлайн-курса «C++ Developer. Professional» в OTUS.

На встрече вы:
— Узнаете, как подключать библиотеку Boost в проект с помощью CMake,
— Познакомитесь с различными библиотеками Boost
— Научитесь эффективно использовать эти библиотеки.

🟠Не упустите возможность расширить свои знания и навыки в разработке на C++! Для продолжения обучения оплатить курс можно любым удобным способом.

👉 Пройдите тест, чтобы зарегистрироваться на вебинар: https://otus.pw/tVGu/

Нативная интеграция. Информация о продукте www.otus.ru

Читать полностью…

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

DRIVING COMPILERS

https://fabiensanglard.net/dc/

#cpp #programming

👉 @cpp_lib

Читать полностью…
Subscribe to a channel