cpp_lib | Unsorted

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

2630

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

Subscribe to a channel

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

Надоело писать код, который тормозит?

Хочешь стать востребованным middle или senior разработчиком и получать предложения о работе от топов российского и международного рынка?

Тогда курс «Алгоритмы и структуры данных» — то, что тебе нужно!

На обучении ты:
- освоишь самые актуальные алгоритмы (жадные алгоритмы, бинарный поиск и др.), которые нужны для решения реальных задач и прохождения собеседований в крупные IT-компании;
- научишься оптимизировать свой код так, чтобы он летал, как ракета, а не ползал, как улитка;
- прокачаешь алгоритмическое мышление и сможешь создавать свои собственные алгоритмы для решения любых задач;
- получишь опыт реализации классических алгоритмов: твой GitHub будет сиять;
- разберёшься в сложных структурах данных: деревья поиска, хеш-таблицы, графы и всё, что нужно настоящему профи.

Только до 21 июля действует 10% скидка на обучение! С 22 июля скидка — 5%.

💚 Действуй сегодня, записывайся в группу: https://vk.cc/cyqZUs

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

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

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

Приходите на C++ Zero Cost Conf 27 июля!

Конференция одновременно пройдёт в Москве, Ереване и онлайн. На встрече практикующие разработчики из топовых компаний прочитают доклады, поделятся реальными кейсами и метриками. А ещё будет крутой нетворкинг и афтерпати.

Программа получилась насыщенной — зарегистрироваться можно по ссылке.

До встречи на C++ Zero Cost Conf! ☀️

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

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

CGAL

Библиотека алгоритмов вычислительной геометрии (CGAL) - это библиотека C++, цель которой - обеспечить легкий доступ к эффективным и надежным алгоритмам вычислительной геометрии.

https://github.com/CGAL/cgal

#cpp #programming

👉 @cpp_lib

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

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

🎯 Готовы открыть для себя мир мобильной разработки на ОС Аврора 5?

16 июля в 20:00 мск присоединяйтесь к нашему открытому уроку и узнайте все секреты!

ОС Аврора 5 — это передовая российская мобильная операционная система, готовая к использованию в самых амбициозных проектах. Хотите узнать, как её покорить? Тогда этот вебинар для вас!

На занятии мы познакомимся с ключевыми особенностями ОС Аврора 5 и погрузимся в её уникальную среду разработки приложений — Аврора IDE. Ознакомимся со структурой и конфигурацией приложений на этой платформе.

Вы увидите наглядную демонстрацию приложения, которое отправляет уведомления в графическую подсистему Lipstick.

Встречаемся в преддверии старта курса «Разработка прикладного ПО на Qt и ОС «Аврора».
Все участники вебинара получат специальную цену на обучение!

➡️ Регистрируйтесь прямо сейчас, чтобы посетить бесплатный урок: https://vk.cc/cygmml

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

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

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

📕Introduction to C++ : 500+ Difficulty-Scaled Solved Programming Exercises.
George S. Tselikis (2023)

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

#cpp #programming

👉 @cpp_lib

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

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

I HAVE NO CONSTRUCTOR, AND I MUST INITIALIZE

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

struct T { /* ... */ };

T t;
T s{};
T r{arg1, arg2, ...};


https://consteval.ca/2024/07/03/initialization/

#cpp #programming

👉 @cpp_lib

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

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

Можно ли изменить состояние в const function в C++? Почему? Как?

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

https://bytesandlogs.me/can-you-change-state-in-const-function-in-cpp/

#cpp #programming

👉 @cpp_lib

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

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

Юрий Грибов — Как правильно писать компараторы

Один из малоизвестных примеров undefined behavior в C/C++ это нарушение требований к функциям сравнения (компараторам). Компараторы широко используются в алгоритмах (std::sort, std::binary_search, и т.д.) и контейнерах (std::set, std::map) и встречаются как в C++, так и в C (qsort, bsearch). Компараторы должны удовлетворять некоторым аксиомам, которые в математике описываются понятием строгого слабого порядка (strict weak ordering). Эти аксиомы не интуитивны и в них легко ошибиться, о чем свидетельствует большое количество соответствующих багов в open source проектах. Современные тулчейны предоставляют средства для отслеживания таких ошибок. О них рассказано в докладе Юрия.

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

#cpp #programming

👉 @cpp_lib

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

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

🔥 Освой разработку ПО на QT и ОС Аврора

Пройди тест из 20 вопросов и проверь, насколько хорошо nы знаешь язык C++ и готов освоить QT и ОС Аврора .
Сможешь сдать — пройдёшь на продвинутый онлайн-курс "Разработка прикладного ПО на Qt и ОС Аврора" от OTUS.

👉 ПРОЙТИ ТЕСТ: https://vk.cc/cy8dmf

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

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

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

std::exception — это базовый класс для всех стандартных исключений в C++

Почему стоит наследоваться от std::exception?

• Единообразие в обработке исключений: Когда вы наследуетесь от std::exception, ваш класс исключения приобретает интерфейс, который делает его совместимым с другими стандартными исключениями

what() метод: std::exception предоставляет важный метод what(), который возвращает строковое представление исключения. Это позволяет вам предоставлять информативные сообщения об ошибке при обработке исключений

• Легкость в поддержке кода: Если вы используете сторонние библиотеки или фреймворки, они также могут ожидать обработку исключений, производных от std::exception

• Стандартные типы исключений: std::exception имеет несколько стандартных подклассов, таких как std::runtime_error, std::logic_error и другие. Вы можете использовать эти подклассы вместо базового std::exception, чтобы более точно определить характер ошибки

#cpp #programming

👉 @cpp_lib

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

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

📕Learn C++ Quickly
Автор: Code Quickly (2020)

Самые успешные программы за последние 30 лет были разработаны на C++. От Microsoft Word до Facebook и Adobe Photoshop, C++ лежит в основе самых прибыльных технологий в современном мире. Это один из самых мощных языков программирования по одной простой причине: он позволяет полностью контролировать не только логику программы и графический интерфейс пользователя, но и оборудование. Выбрав эту книгу в качестве обучающего материала, вы получите пошаговое руководство, позволяющее быстро освоить сложный синтаксис C++.

Изучив основы, во время чтения книги вы также получите:
✔️Навыки управления производительностью любого компьютера на микроуровне;
✔️Возможность писать код для Windows, Mac, Linux и мобильных устройств;
✔️Возможность быстро овладеть множеством других высокоуровневых языков программирования.

#cpp #programming

👉 @cpp_lib

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

Библиотека 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++ разработчика

Основы С++

Языку C++ почти 40 лет, но он по-прежнему актуален и востребован: сегодня он применяется повсеместно — от разработки игр и десктопных программ до «мозгов» умного дома. С помощью нашего учебника вы сможете самостоятельно изучить базовые концепции C++. Наш курс рассчитан на новичков — однако мы рассчитываем, что вы знакомы с основами информатики и владеете каким-либо языком программирования на уровне школьной программы — например, языком Python.

https://education.yandex.ru/handbook/cpp

#cpp #programming

👉 @cpp_lib

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

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

🏆 Хотите стать одним из тех, кто покорил разработку и стал успешным в IT? Добро пожаловать на курс «Специализация C++ Developer»!

Забудьте о скучных лекциях! Вас ждут современные тренды разработки и актуальные инструменты. У нас вы сразу погружаетесь в реальные задачи с обучением на рабочих кейсах.

Что вы получите:

- полное представление о всех аспектах C++ в разных областях разработки;
- качественные, практически применимые знания, ведущие к получению самых выгодных офферов в топовых проектах;
- мощную поддержку с трудоустройством: ваше резюме в базе OTUS, участие в карьерных мероприятиях и публичные разборы. Реальные шансы на крутые предложения!

➡Нельзя упускать такую возможность. Время действовать — время побеждать! Оставьте заявку прямо сейчас, чтобы успеть забрать специальную цену и подарочные уроки: https://otus.pw/Ingz/?erid=2VtzqwXjvmN

🔥При оплате до 30.06 скидка 5%

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

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

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

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

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

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

#cpp #programming

👉 @cpp_lib

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

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

Безопасное копирование, перемещение и уничтожение объектов в современном C++ по правилу «все или ничего»

Какие конструкторы нужны классу C++? Какие он генерирует сам? Как насчет различных операторов присваивания? А деструктор? Как не отстрелить себе ногу и без труда ориентироваться в этих водах?

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

источник

#cpp #programming

👉 @cpp_lib

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

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

Библеотека CPR

C++ Requests - это простая обертка вокруг libcurl, вдохновленная отличным проектом Python Requests.

Несмотря на свое название, простой интерфейс libcurl - это еще не все, и ошибки, неправильное использование этого языка - частый источник ошибок и разочарований. Используя более выразительные языковые средства C++17 (или C++11, если вы используете cpr < 1.10.0), эта библиотека укладывает суть выполнения сетевых вызовов в несколько лаконичных идиом.

Вот быстрый GET-запрос:

#include <cpr/cpr.h>

int main(int argc, char** argv) {
cpr::Response r = cpr::Get(cpr::Url{"https://api.github.com/repos/whoshuu/cpr/contributors"},
cpr::Authentication{"user", "pass", cpr::AuthMode::BASIC},
cpr::Parameters{{"anon", "true"}, {"key", "value"}});
r.status_code; // 200
r.header["content-type"]; // application/json; charset=utf-8
r.text; // JSON text string
return 0;
}

https://github.com/libcpr/cpr

#cpp #programming

👉 @cpp_lib

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

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

FTXUI

Простая кроссплатформенная библиотека C++ для пользовательских интерфейсов на базе терминала!

• Функциональный стиль
• Простой и элегантный синтаксис
• Создаваемые консольные UI поддерживают навигацию с помощью клавиатуры и мыши
• Поддержка UTF8
• Поддержка анимации
• Поддержка рисования
• Нет зависимостей
• Кроссплатформенность: Linux/MacOS, WebAssembly, Windows


https://github.com/ArthurSonzogni/FTXUI

#cpp #programming

👉 @cpp_lib

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

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

Константин Владимиров — О денотации: разрешение имен и его пересмотр в C++23

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

источник

#cpp #programming

👉 @cpp_lib

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

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

❓Хотите узнать, какой алгоритм сортировки быстрее и эффективнее? Присоединяйтесь к нашему открытому уроку!

Тема: Визуальное сравнение 4-5 алгоритмов сортировок.
Дата: 15 июля в 20:00 мск.

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

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

🔥 Спикер Евгений Волосатов — программист баз данных и преподаватель с огромным и разнообразным опытом, автор статей и учебных программ по C#, Java, PHP.

🔴 Пройдите короткий тест прямо сейчас, чтобы посетить бесплатный урок: https://vk.cc/cyflwx

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

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

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

Как вставить ASM в Си (inline asm)

источник

#cpp #programming

👉 @cpp_lib

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

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

🌎Программист, говори с миром на одном языке!

👉Узнайте больше о возможностях С на бесплатном вебинаре онлайн-курса «Программист С» — «Unicode в С»: регистрация

На вебинаре мы:
— подробнее познакомимся с интернациональным стандартом символов Unicode и низкоуровневым устройством его кодировок
— развеем несколько популярных мифов в области кодировок и посмотрим на инструменты языка C для работы с юникодом.

✅Занятие будет полезно всем программистам с опытом.

👉После вебинара вы сможете продолжить обучение на курсе по спеццене, в том числе, в рассрочку

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

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

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

C++26 — прогресс и новинки от ISO C++

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

До нового стандарта C++ остаётся чуть больше года, и вот некоторые новинки, которые попали в черновик стандарта за последние две встречи:

⚫️запрет возврата из функции ссылок на временное значение,
⚫️[[indeterminate]] и уменьшение количества Undefined Behavior,
⚫️диагностика при =delete;,
⚫️арифметика насыщения,
⚫️линейная алгебра (да-да! BLAS и немного LAPACK),
⚫️индексирование variadic-параметров и шаблонов ...[42],
⚫️вменяемый assert(...),
⚫️и другие приятные мелочи.

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

https://habr.com/ru/companies/yandex/articles/801115/

#cpp #programming

👉 @cpp_lib

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

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

STL с нуля | C++

1:24 - заполнение контейнеров.
2:44 - вопрос о передаче параметра в функцию (копия, ссылка, универсальная ссылка).
4:54 - как посмотреть, что генерит компилятор из универсальной ссылки.
8:53 - про рандом.
10:36 - list vs vector.
14:38 - как удалить элемент из std::vector.
16:19 - решение задачи про исчезнувший элемент.
18:11 - обсуждаем сложность алгоритмов.
21:37 - чем хороша STL.

#cpp #programming

👉 @cpp_lib

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

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

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

👉Узнайте больше 3 июля в 20:00 ч мск на бесплатном вебинаре онлайн-курса «IoT Developer» - «Мониторинг транспорта в платформе ThingsBoard»: регистрация

На занятии рассмотрим решение мониторинга транспорта, познакомимся с реализацией демо проекта на платформе ThingsBoard:
1. Подключение устройств
2. Создание сущностей
3. Разработка цепочек правил
4. Разработка дашборда

🤝Понравится урок — продолжите обучение на курсе по спеццене и даже в рассрочку!

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

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

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

Метапрограммирование

1. Введение в шаблоны
2. C++20: requires keyword
3. C++20: concepts
4. Operator spaceship
5. ADL и CRTP
6 (семинар). Typelist
7. Traits, Policy Based Design, Mixins
8. Полиморфизм
9 (семинар). Реализация std::function
10 (семинар). Реализация std::any без виртуальных функций

источник

#cpp #programming

👉 @cpp_lib

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

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

Если хочется влюбиться в профессию заново. Разрабатывайте курс вместе с Яндекс Практикумом!

Сервис онлайн-образования Яндекс Практикум готовит новый продукт в рамках курса «Разработчик C++». Для создания контента коллегам нужен специалист уровня мидл и выше.

Обратите внимание на это предложение, если у вас есть от 10 свободных часов в неделю и желание влиять на развитие индустрии.

Что предстоит делать: готовить тексты уроков и заданий, составлять тесты и чек-листы, заботиться о том, чтобы материалы увлекали студентов.

Условия сотрудничества: частичная занятость, удалёнка, гибкий график.

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

Узнать детали и откликнуться

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

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

Жизнь без линтеров и расчет цены абстракции: материалы для разработчиков на С++

В марте собрали «плюсовиков» на митапе в Санкт-Петербурге. Всем понравилось, поэтому смело принесли вам записи докладов и дискуссии с экспертами из YADRO, VK и Kaspersky, а также создателем Sphinx Андреем Аксёновым. Выбирайте доклад на вечер пятницы (дискуссия про код-ревью зайдет с попкорном) и сохраняйте в закладки:

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

Эксперт из PVS-Studio покажет, почему линтеры не всегда подходят для поиска ошибок и какое решение использовать вместо них, чтобы не навредить безопасности сервиса.

Инженеры с весомым стажем работы на С++ поделятся опытом проведения код-ревью — найдете в их практиках что-то полезное или просто посмеетесь вместе с участниками дискуссии над курьезными случаями.

https://habr.com/ru/companies/yadro/articles/807145/

#cpp #programming

👉 @cpp_lib

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

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

*(char*)0 = 0; - What Does the C++ Programmer Intend With This Code?

- JF Bastien - C++ on Sea 2023

источник

#cpp #programming

👉 @cpp_lib

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

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

Внимание, разработчики! Приглашаем вас на открытый вебинар по алгоритмам и структурам данных от опытного практикующего эксперта💯

Ждём вас на уроке «Визуальное сравнение 1-2-3 алгоритмов сортировок» от OTUS, где мы:
- подробно рассмотрим три алгоритма сортировок: Пузырьком, Вставкой и Шелла;
- сравним их по различным критериям: сложность и количество обменов, стабильность и адаптивность;
- напишем алгоритмы и сравним их быстродействие;
- продемонстрируем их работу на игральных картах🂱️

🔥 Спикер Евгений Волосатов — программист баз данных и преподаватель с огромным и разнообразным опытом, автор статей и учебных программ по C#, Java, PHP.

Встречаемся 1 июля в 20:00 мск в преддверии старта курса «Алгоритмы и структуры данных». Все участники вебинара получат специальную цену на обучение.

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

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

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