cpp_lib | Unsorted

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

2630

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

Subscribe to a channel

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

Присоединяйтесь к участникам конференции C++ Russia!

🌐 24 мая — онлайн
📍 2–3 июня — большой офлайн в Москве

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

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

Билеты можно купить за счет компании. Для тех, кто покупает билеты сам, у нас есть промокод на скидку 10%: CPPLIB

Реклама. ООО "Вайлдкард". ИНН 7801718607

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

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

Представь: ты становишься профессионалом в IT, наполняешь портфолио интересными проектами и успешно проходишь техническое собеседование в одной из крупнейших российских IT-компаний 👨‍💻

А также развиваешь алгоритмическое мышление и просто проводишь свободное время с пользой 🕺

Представил? Тогда участвуй во Всероссийском чемпионате по алгоритмическому программированию RuCode.СТАРТ. Индивидуальный онлайн-контест пройдет уже 19 мая 🔥

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

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

Подборка Telegram каналов для программистов

Системное администрирование 📌
/channel/tipsysdmin Типичный Сисадмин (фото железа, было/стало)
/channel/sysadminof Книги для админов, полезные материалы
/channel/i_odmin Все для системного администратора
/channel/i_odmin_book Библиотека Системного Администратора
/channel/i_odmin_chat Чат системных администраторов
/channel/i_DevOps DevOps: Пишем о Docker, Kubernetes и др.
/channel/sysadminoff Новости Линукс Linux


/channel/tikon_1 Новости высоких технологий, науки и техники💡
/channel/mir_teh Мир технологий (Technology World)

/channel/rust_lib Полезный контент по программированию на Rust
/channel/golang_lib Библиотека Go (Golang) разработчика

/channel/itmozg Программисты, дизайнеры, новости из мира IT.
/channel/phis_mat Обучающие видео, книги по Физике и Математике

/channel/php_lib Библиотека PHP программиста 👨🏼‍💻👩‍💻
/channel/nodejs_lib Подборки по Node js и все что с ним связано
/channel/ruby_lib Библиотека Ruby программиста

1C разработка 📌
/channel/odin1C_rus Cтатьи, курсы, советы, шаблоны кода 1С

Программирование C++📌
/channel/cpp_lib Библиотека C/C++ разработчика
/channel/cpp_knigi Книги для программистов C/C++
/channel/cpp_geek Учим C/C++ на примерах

Программирование Python 📌
/channel/pythonofff Python академия. Учи Python быстро и легко🐍
/channel/BookPython Библиотека Python разработчика
/channel/python_real Python подборки на русском и английском
/channel/python_360 Книги по Python Rus

Java разработка 📌
/channel/BookJava Библиотека Java разработчика
/channel/java_360 Книги по Java Rus
/channel/java_geek Учим Java на примерах

GitHub Сообщество 📌
/channel/Githublib Интересное из GitHub

Базы данных (Data Base) 📌
/channel/database_info Все про базы данных

Мобильная разработка: iOS, Android 📌
/channel/developer_mobila Мобильная разработка
/channel/kotlin_lib Подборки полезного материала по Kotlin

Фронтенд разработка 📌
/channel/frontend_1 Подборки для frontend разработчиков
/channel/frontend_sovet Frontend советы, примеры и практика!
/channel/React_lib Подборки по React js и все что с ним связано

Разработка игр 📌
/channel/game_devv Все о разработке игр

Вакансии 📌
/channel/sysadmin_rabota Системный Администратор
/channel/progjob Вакансии в IT

Чат программистов📌
/channel/developers_ru

Библиотеки 📌
/channel/book_for_dev Книги для программистов Rus
/channel/programmist_of Книги по программированию
/channel/proglb Библиотека программиста
/channel/bfbook Книги для программистов
/channel/books_reserv Книги для программистов

БигДата, машинное обучение 📌
/channel/bigdata_1 Data Science, Big Data, Machine Learning, Deep Learning

Программирование 📌
/channel/bookflow Лекции, видеоуроки, доклады с IT конференций
/channel/coddy_academy Полезные советы по программированию

QA, тестирование 📌
/channel/testlab_qa Библиотека тестировщика

Шутки программистов 📌
/channel/itumor Шутки программистов

Защита, взлом, безопасность 📌
/channel/thehaking Канал о кибербезопасности
/channel/xakep_1 Статьи из "Хакера"

Книги, статьи для дизайнеров 📌
/channel/ux_web Статьи, книги для дизайнеров

Английский 📌
/channel/UchuEnglish Английский с нуля

Математика 📌
/channel/Pomatematike Канал по математике

Excel лайфхак📌
/channel/Excel_lifehack

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

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

Flashlight - это быстрая, гибкая библиотека машинного обучения, написанная полностью на C++ от Facebook AI Research и создателей Torch, TensorFlow, Eigen и Deep Speech. Ее основные возможности включают:

https://github.com/flashlight/flashlight

документация https://fl.readthedocs.io/en/latest/

#cpp #programming

👉 @cpp_lib

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

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

❗️ Как автоматизировать работу с потоками в Rust?

Приглашаем 16 мая в 20:00 мск на бесплатный вебинар «Пишем ThreadPool на Rust» от Отус.

Вебинар является бесплатной частью полноценного онлайн-курса «Rust Developer. Professional».

➡️ Регистрация на вебинар: https://vk.cc/cwDRyZ

💪 На вебинаре мы разберем:
- потокобезопасность на стадии компиляции в Rust;
- безопасный механизм передачи данных между потоками;
- простой пул потоков и его производительность.

После вебинара вы сможете увеличить производительность вашей программы или сервиса, а также расширите свои профессиональные возможности!

Записывайтесь сейчас, а мы потом напомним. Участие бесплатно.

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru

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

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

Время разобраться с std::chrono

Видео о std::chrono, в котором представлен обзор функциональности, добавленной в C++11, C++17 и C++20. Посмотрите, чтобы узнать, какую часть chrono поддерживает ваш компилятор. Мы были очень удивлены тем, что обнаружили.

источник

#cpp #programming

👉 @cpp_lib

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

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

👨‍💻 Потренируйтесь проходить собеседования с разработчиками из Яндекса, VK, Ozon, Тинькофф и других ведущих компаний, а также получите подробный отзыв о том, на какую зарплату и грейд вы можете расчитывать, или над чем вам еще стоит поработать.

Потренироваться проходить собеседования

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

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

Structured binding declaration (since C++17)

https://en.cppreference.com/w/cpp/language/structured_binding

#cpp #programming

👉 @cpp_lib

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

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

Восемь возможностей C++17, которые должен применять каждый разработчик

Мы поговорим о восьми удобных изменениях, которые влияют на ваш повседневный код. Четыре изменения касаются самого языка, а ещё четыре — его стандартной библиотеки.

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

#cpp #programming

👉 @cpp_lib

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

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

"Как вы начинаете, так вы и продолжаете." – Брюс Ли

Курс для начинающих «Введение в Реверс инжиниринг» стартует 6 мая (6 мес.)
Курс подойдёт всем интересующимся темой реверс-инжиниринга. По окончанию курса, вы будете уметь проводить исследования исполняемых файлов и вносить изменения в логику программ.

Курс для продолжающих «Реверсивный инжиниринг ПО под ОС Windows» начинается 3 июня (6.5 мес.)
Курс ведет Андрей Бирюков, автор книг, статей, эксперт и спикер конференций по ИБ.

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

Учитесь у лучших!

🏆 Сертификат/удостоверение о повышении квалификации

Пишите нам:
@Codeby_Academy
+74994441750

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

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

Приведение типов в C++

1. static_cast
В общем тот же reinterpret_cast, только делает проверку во время компиляции на совместимость. Проверяет можем ли мы сделать downcasting типа, привести тип родителя к типу потомка. Когда заранее известно, что может быть только один тип потомка

2. dynamic_cast
Динамическое преобразование типов, когда информация о типе появляется только во время исполнения программы

3. reinterpret_cast
Сообщает, что в данном участке памяти лежат те или иные типы данных и он этого никак не проверяет. В данном случае программист сам решает

4. const_cast
Снимает const квалификатор. Если понадобился const_cast, то действительно пошло что-то не так и пытаемся снять константность

5. C-style cast
Замаскированное применение const_cast, static_cast, reinterpret_cast и их комбинаций. Применяются в следующем порядке
• const_cast
• static_cast
• static_cast + const_cast
• reinterpret_cast
• reinterpret_cast + const_cast

#cpp #programming

👉 @cpp_lib

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

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

Кто такой архитектор ПО и как им стать?

Архитектор ПО — одна из самых востребованных позиций на современном рынке IT.

Узнайте, что нужно, чтобы претендовать на эту должность, на бесплатном практическом уроке от OTUS. Спикер — опытный эксперт из крупной компании. На вебинаре разберём:

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

Встречаемся 20 мая в 19:00 мск в рамках курса «Software Architect». Все участники вебинара получат специальную цену на обучение и персональную консультацию от менеджеров OTUS!

Ссылка для регистрации: https://vk.cc/cwqlRM

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru

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

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

C++. std::make_unique_for_overwrite, std::make_shared_for_overwrite и std::allocate_shared_for_overwrite

C++ 440. Набор функций создания умных указателей в C++20: std::make_unique_for_overwrite, std::make_shared_for_overwrite и std::allocate_shared_for_overwrite.

Стандарт C++20 представил новый набор функций создания умных указателей: std::make_unique_for_overwrite, std::make_shared_for_overwrite и std::allocate_shared_for_overwrite.

Эти варианты инициализируют выделенную память значениями по умолчанию, в отличие от предыдущих вариантов с инициализацией значениями.

Это позволяет избежать дублирующей инициализации POD типов при немедленной перезаписи памяти.

#include <memory>
#include <memory_resource>

auto p1 = std::make_unique_for_overwrite<int>();
// decltype(p1) == std::unique_ptr<int>, *p1 == неопределенное значение

auto p2 = std::make_shared_for_overwrite<int>();
// decltype(p2) == std::shared_ptr<int>, *p2 == неопределенное значение

std::pmr::monotonic_buffer_resource mr;
std::pmr::polymorphic_allocator<int> alloc{&mr};
auto p3 = std::allocate_shared_for_overwrite<int>(alloc);
// decltype(p3) == std::shared_ptr<int>, *p3 == неопределенное значение

// Перегрузки также поддерживают массивы, инициализируемые по умолчанию
auto p4 = std::make_unique_for_overwrite<int[]>(7); // 7 элементов
// decltype(p4) == std::unique_ptr<int[]>, p4[0] == неопределенное значение

auto p5 = std::make_shared_for_overwrite<int[]>(7);
// decltype(p5) == std::shared_ptr<int[]>, p5[0] == неопределенное значение

auto p6 = std::allocate_shared_for_overwrite<int[]>(alloc, 7);
// decltype(p6) == std::shared_ptr<int[]>, p6[0] == неопределенное значение


simontoth/daily-bit-e-of-c-std-make-unique-for-overwrite-std-make-shared-for-overwrite-and-34875c161fbd" rel="nofollow">https://medium.com/@simontoth/daily-bit-e-of-c-std-make-unique-for-overwrite-std-make-shared-for-overwrite-and-34875c161fbd

#cpp #programming

👉 @cpp_lib

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

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

📚Learn C++ by Example: Covers versions 11 to 23
Frances Buontempo (2024)

Эта книга — веселый и практичный способ начать писать современный код на C++. В ней вы пройдете через занимательные задачи, подчеркивая возможности и приемы, ставшие возможными благодаря C++ 17, 20 и 23. Вы узнаете об объектах и массивах, создав колоду игральных карт, освоите библиотеку C++ random для игры в угадывание чисел, используете библиотеку chrono для создания таймера обратного отсчета и многое другое. Попутно вы почерпнете ценные советы по тестированию, организации проектов и другим навыкам продуктивности.

#cpp #programming

👉 @cpp_lib

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

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

🦾 Научитесь писать корректный код на С++, учитывая возможности новых стандартов

Всего за 5 месяцев вы освоите современные инструменты для более эффективной разработки и повышения грейда. Записывайтесь на онлайн-курс «C++ Developer. Professional» от OTUS.

Программа идеально подходит для разработчиков на C++ уровней Junior или Middle, а также разработчиков на Java и Python.

На курсе вас ждут:

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

👉 Пройдите короткий тест и узнайте, готовы ли вы к расширению карьерных возможностей: https://vk.cc/cwmvdg

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

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

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

C++ (1 курс) - лектор Мещерин. Часть 2
Часть 1 /channel/cpp_lib/1337

C++ 8. Наследование
C++ 9. Шаблоны
C++ 10. Шаблоны. Исключения
C++ 11. Исключения
C++ 12. Аллокаторы
C++ 13. Контейнеры

источник

#cpp #programming

👉 @cpp_lib

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

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

C++ (1 курс) - лектор Мещерин

C++ 1. Введение в язык.
C++ 2. Введение, модификаторы типов, указатели.
C++ 3. Модификаторы типов.
C++ 4. Модификаторы типов. Введение в ООП.
C++ 5. Классы, перегрузка операторов
C++ 6. Перегрузка операторов, наследование
C++ 7. Наследование

источник

#cpp #programming

👉 @cpp_lib

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

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

Шпаргалка по CMake

https://ps-group.github.io/cxx/cmake_cheatsheet

#cpp #programming

👉 @cpp_lib

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

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

Современные приемы CPP, которые часто пригождаются на собеседованиях по кодингу и на соревнованиях по программированию

https://github.com/rachitiitr/modern-cpp-tricks

#cpp #programming

👉 @cpp_lib

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

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

Kata Library: C++ Practice

https://www.codewars.com/kata/cpp

#cpp #programming

👉 @cpp_lib

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

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

Delivering Safe C++ — Bjarne Stroustrup

Бьёрн разбирается с тремя основными вопросами:

- что означает "безопасный" в контексте различных применений C++;
- как гарантировать безопасность там, где она необходима;
- как заставить разработчиков писать безопасный код.

источник

#cpp #programming

👉 @cpp_lib

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

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

📚Beginning C++ Game Programming
Автор: John Horton (2019)

Первое издание данной книги было обновлено и улучшено, чтобы осветить новейшие функции Visual Studio 2019, SFML и современные методы программирования на C++. Книга представляет собой увлекательное введение в программирование игр. Вы научитесь создавать клоны популярных игр, таких как Timberman, Pong, шутер на выживание с зомби, платформер-головоломку для совместной игры и Space Invaders.

Во время чтения книги вы:
✔️Настроите свой проект разработки игр в Visual Studio 2019 и изучите библиотеки C++, такие как SFML;
✔️Изучите основные игровые концепции, такие как игровая анимация, физика игры, ведение счета и звук;
✔️Используете классы, наследование и ссылки для создания и управления тысячами врагов;
✔️Изучите ООП в C++, создав Pong;
✔️Научитесь работать с указателями, ссылками и STL.

#cpp #programming

👉 @cpp_lib

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

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

🔥 Время прокачивать свои навыки и RustИ !!!

🫵 Проверь себя - ответь на вопросы и узнай, хорошо ли ты знаешь Rust и его ключевые особенности. Тест является частью полноценного онлайн-курса «Rust Developer. Professional» от Отус.

➡️ ПРОЙТИ ТЕСТ: https://vk.cc/cwx3Er

Почему именно сейчас в 2024 году Rust так популярен?
Безопасность, высокая производительность, многопоточность и кроссплатформенность. Он подходит для создания безопасных, эффективных и многопоточных приложений на разных платформах.

💥 Бонусом за успешно пройденный тест, получишь доступ к записям открытых вебинаров курса (доступ на странице курса).

Пройди тест, смотри наши вебинары и приходи учиться! Ждем.

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru

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

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

Практика языка C (МФТИ, 2023-2024). Допсеминар: системы сборки (make, cmake).

00:00 Зависимости и хедера
08:22 Build.sh
11:48 Makefiles и декларативная модель
19:51 Ленивые и переменные
30:52 Автоматические переменные
36:15 Первая версия makefile
41:33 Функции и wildcards
47:40 Вторая версия makefile и зависимости от хедеров
56:36 Третья итерация: почти идеальный makefile
01:06:26 Знакомство с cmake
01:19:35 Бонус. Немного больше про cmake.
01:30:40 Окончательные уроки.

источник

#cpp #programming

👉 @cpp_lib

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

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

Преобразование типов данных в языках С и С++

#cpp #programming

👉 @cpp_lib

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

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

Разреженные структуры данных

Когда-то я писал пост про различные интересные структуры данных. Среди них был т.н. sparse set. Там мы описали его в общих чертах, опустив некоторые детали (которыми позже статья была дополнена). Но кроме sparse set существуют и другие разреженные структуры данных! На них сегодня и посмотрим : )

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

#cpp #programming

👉 @cpp_lib

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

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

Практика языка C (МФТИ, 2023-2024). Интермедия. Стандарт языка C.

На этом занятии мы поговорим о стандарте C. Мы начнём с попытки изобрести очень простой язык программирования и увидим на его примере основные особенности поведения высокоуровневых программ. Далее мы подробно разберём разные формы поведения программ на языке C, познакомимся и потренируемся со стандартом языка.

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

В конце я приготовил небольшое рассуждение про важность стандартизации.

00:00 Язык программирования INC и поведение программ
12:38 Семантика и стандарт языка
23:50 Поведение программ
34:15 Неопределённое поведение
47:17 Тренировка в чтении стандарта и время решать задачи
50:20 Немного информации про проект и live coding
01:08:43 Стандарт как источник знаний
01:19:11 Важность стандартизации

источник

#cpp #programming

👉 @cpp_lib

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

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

⁉️ Каких разработчиков берут в свою команду российские IT-гиганты?

Тех, кто следит за изменениями рынка и владеет современными инструментами.

Станьте одним из них — освойте кросс-платформенный фреймворк Qt всего за 5 месяцев на онлайн-курсе «Разработка прикладного ПО на Qt и ОС «Аврора» от OTUS.

После обучения вы:

- освоите Qt — одну из лучших кросс-платформенных библиотек для разработки UI на С++;
- изучите нативную разработку для Авроры 5.0, сможете участвовать в проектах по созданию мобильных приложений для государственных компаний и крупного бизнеса;
- научитесь писать программы на QML;
- научитесь создавать, масштабировать и видоизменять приложения на Qt;
- сможете создавать приложения под модули Qt: датчики, мультимедиа, геолокацию.

Стартуем 26 апреля! Есть рассрочка и специальная цена.

👉 Пройдите короткий тест и узнайте, готовы ли вы к расширению карьерных возможностей: https://vk.cc/cwpn03

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

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

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

Как исключения C++ легко делают ваше программное обеспечение лучше и безопаснее

В чем проблема?

Если ваше программное обеспечение не проверяет и не устраняет ошибки, ваша программа может быть ненадежной. Клиенты сочтут это некачественным программным обеспечением.
Многие реальные программы не должны завершаться аварийно, и не только те, которые управляют медицинскими приборами или ракетами.
Если исключения не используются или не обрабатываются должным образом, процесс завершается аварийно. При вызове std::abort() или если реализация не разворачивает стек перед вызовом std::terminate(), деструкторы объектов могут не вызываться, а внешние ресурсы могут оставаться в неопределенном состоянии. Ненормальное завершение процесса - типичный вектор для атак типа "отказ в обслуживании" (DOS).

https://nexwebsites.com/blog/cpp_exceptions/

#cpp #programming

👉 @cpp_lib

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

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

C++. Ограничение noexcept

Реализация обобщенного кода C++ может быть сложной, поскольку любая операция потенциально может выкинуть исключение.

Примечательно, что, когда требуется строгая гарантия исключений, это может значительно усложнить код и привести к накладным расходам во время выполнения (или даже к изменению сложности «O большого»).

К счастью, для обеспечения соблюдения гарантий noexcept во время компиляции концепты можно использовать C++20.

#include <utility>

struct UnsafeType
{
UnsafeType() = default;
UnsafeType(UnsafeType&&) {}
UnsafeType& operator=(UnsafeType&&) { return *this; }
};

template <typename T>
void unsafe_swap(T& left, T& right)
{
auto tmp = std::move(left);
left = std::move(right); // Что будет, если этот move выкинет исключение?
// было выполнено перемещение значения из left,
// и перемещение этого значения в right снова может выкинуть исключение
right = std::move(tmp);
}

struct SafeType
{
SafeType() = default;
SafeType(SafeType&&) noexcept {}
SafeType& operator=(SafeType&&) noexcept { return *this; }
};

template <typename T>
requires requires (T& a, T& b)
{
// присваивание перемещением допустимо и не выкидывает исключение
{ a = std::move(b) } noexcept;
}
void safe_swap(T& left, T& right)
{
auto tmp = std::move(left);
left = std::move(right);
right = std::move(tmp);
}

SafeType a, b;
safe_swap(a, b); // OK

UnsafeType x, y;
// Не скомпилируется:
// safe_swap(x, y);
// UnsafeType не удовлетворяет требованию noexcept


simontoth/daily-bit-e-of-c-constraining-on-noexcept-fe477cc2bbe1" rel="nofollow">https://medium.com/@simontoth/daily-bit-e-of-c-constraining-on-noexcept-fe477cc2bbe1

#cpp #programming

👉 @cpp_lib

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