C++ Academy
16.5K subscribers
620 photos
127 videos
1 file
584 links
По всем вопросам- @haarrp

@itchannels_telegram - 🔥 best it channels

РКН: clck.ru/3FmxJF
Download Telegram
🖥 fmt — это open-source библиотека C++ для форматирования

fmt представляет собой быструю и безопасную альтернативу stdio из C и iostreams из C++

🖥 GitHub
🟡 Страничка fmt

@cpluspluc
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍214🥰1
This media is not supported in your browser
VIEW IN TELEGRAM
🖥 CodeChecker — инструмент анализа и расширение для просмотра для Clang Static Analyzer и Clang Tidy

pip install codechecker

CodeChecker — это целая инфраструктура статического анализа, построенная на основе инструментария LLVM/Clang Static Analyzer и заменяющая scan-build в среде разработки Linux или macOS.

Также существует прекрасный плагин для VSCode

🖥 GitHub
🟡 Доки

@cpluspluc
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥10👍51
Media is too big
VIEW IN TELEGRAM
🚀 Практика языка 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

@cpluspluc
13👍9🔥1🥰1
This media is not supported in your browser
VIEW IN TELEGRAM
🖥 Дорожная карта для изучения C с нуля

• Cпискjr полезных ресурсов для изучения CИ с нуля

• В статье представлены различные области, в которых автор нуждался в дополнительном разъяснении

• Автор предлагает начать свой собственный проект, выбрав тему, которая действительно интересует

• Для изучения внутренней части ОС x86-64 рекомендуется разработка драйвера ядра и руткита

👉 Ссылочка
👉 Roadmap по C++

@cpluspluc
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14🔥32
🖥 libdatachannel — это open-source библиотека C++, реализующая каналы данных WebRTC, медиа-транспорт WebRTC и WebSockets

libdatachannel стремится быть простой и легкой библиотекой, с минимальным количеством внешних зависимостей, чтобы обеспечить прямое соединение между приложениями и веб-браузерами без необходимости импортировать какую-то раздутую библиотеку.
Интерфейс состоит из несколько упрощенных версий JavaScript WebRTC и WebSocket API, присутствующих в браузерах, чтобы облегчить разработку кросс-окружающих приложений.
libdatachannel написана на C++17 и имеет привязку к языку C.

🖥 GitHub
🟡 Доки

@cpluspluc
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍20🔥42
🖥 Faiss — библиотека, написанная на C++, для работы с векторами

conda install -c pytorch faiss-cpu

Faiss — это библиотека для эффективного поиска сходства и кластеризации векторов. Faiss содержит алгоритмы поиска в наборах векторов любого размера, вплоть до таких, которые, возможно, не поместятся в оперативной памяти. Библиотека также содержит вспомогательный код для оценки и настройки параметров.

Faiss написана на C++, имеет удобный интерфейс для использования из Python. Часть из наиболее полезных и ресурсоёмких алгоритмов спроектированы для распараллеливания на GPU.

🖥 GitHub
🟡 Доки

@cpluspluc
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16🔥32
🖥 glaze — очень быстрая, работающая в памяти библиотека C++ для работы с JSON и интерфейсами

Одна из самых быстрых JSON-библиотек в мире. Glaze позволяет упростить интерфейсы и обеспечить высокую производительность.

🖥 GitHub

@cpluspluc
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥248👍3🦄1
🖥 Catch2 — современный фреймворк тестирования на C++ для юнит-тестов, TDD и BDD

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

Главное преимущество Catch2 в том, что его можно использовать просто и естественно. Имена тестов не обязательно должны быть валидными идентификаторами, а утверждения выглядят как обычные булевы выражения C++.

🖥 GitHub
🟡 Доки

@cpluspluc
Please open Telegram to view this post
VIEW IN TELEGRAM
👍144🔥2
🖥 oneDNN — кроссплатформенная open-source библиотека С++ для приложений Deep Learning

oneDNN предоставляет ряд базовых строительных блоков для задач Deep Learning.
Библиотека оптимизирована для процессоров архитектуры Intel, Intel Graphics и процессоров на базе 64-битной архитектуры Arm (AArch64).
Также oneDNN имеет экспериментальную поддержку следующих архитектур: NVIDIA GPU, AMD GPU, OpenPOWER Power ISA (PPC64), IBMz (s390x) и RISC-V.

🖥 GitHub
🟡 Доки
🟡 Примеры использования oneDNN

@cpluspluc
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍125🔥3🤔2
🖥 simdjson — библиотека C++ для очень быстрого парсинга JSON

Библиотека simdjson использует общедоступные SIMD-инструкции и алгоритмы для разбора JSON в 4 раза быстрее, чем RapidJSON, и в 25 раз быстрее, чем JSON for Modern C++.

Особенности simdjson:
— минификация JSON со скоростью 6 ГБ/с, проверка UTF-8 со скоростью 13 ГБ/с, NDJSON со скоростью 3,5 ГБ/с
— простые в использовании и тщательно документированные API
— полная валидация JSON и UTF-8, парсинг происходит без потерь
— сам выбирает подходящий парсер, не нужно настраивать

simdjson используется в Facebook/Meta, в ClickHouse, WatermelonDB, Apache Doris, Milvus, StarRocks

🖥 GitHub

@cpluspluc
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍176🔥4
🖥 Elements — легкая, кроссплатформенная, модульная библиотека C++ для GUI

Elements написана с использованием возможностей C++17.
Имеет декларативный интерфейс с логичным и понятным синтаксисом Domain Specific Embedded Languages (DSEL) для построения элементов GUI. Декларативное описание GUI пишется исключительно на C++, поэтому нет необходимости во внешнем визуальном редакторе GUI или генераторе кода.

Можно без проблем встроить Elements в любое приложение, и она будет хорошо сочетаться с другими библиотеками и фреймворками GUI.
Плюс Elements может сосуществовать с такими компонентами как VST и AU.

🖥 GitHub
🟡 Доки

@cpluspluc
Please open Telegram to view this post
VIEW IN TELEGRAM
👍254🔥3
🖥 Алгоритмы на С/С++

Задача о Ханойской башне
Быстрая сортировка (quick sort)
Бинарный поиск в отсортированном массиве
Сортировка методом выбора
Сортировка методом пузырька
Минимизация просмотров в методе сортировки пузырьком
Модифицированный метод пузырька
Сортировка методом вставок
Шейкер - сортировка

📌 источник

#алгоритмы #cpp #programming

@cpluspluc
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍313🔥3