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

@itchannels_telegram - 🔥 best it channels

РКН: clck.ru/3FmxJF
Download Telegram
🖥 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
🌟 WebUI — библиотека на чистом C для использования любого веб-браузера в качестве графического интерфейса

git clone https://github.com/webui-dev/webui.git
cd webui

nmake -f Makefile.nmake

# или mingw32-make


WebUI позволяет использовать любой веб-браузер в качестве GUI; на бэкенде можно подключить C++ или другой язык, а на фронтенде — HTML5

🖥 GitHub
🟡 Доки

@cpluspluc
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16🔥81
Media is too big
VIEW IN TELEGRAM
🖥 Семантические процессы в C++
Лекция Константина Владимирова.

В языке C++ есть синтаксис и семантика.

Когда мы говорим о синтаксисе, мы говорим о контекстно-независимых конструкциях, которые просто что-то означают. Например, if — это всегда if.

Но когда мы говорим о семантике, мы сталкиваемся с необходимостью для компилятора что-то сделать или что-то выяснить: разрешить имя, инстанцировать шаблон, вывести тип, вычислить константное выражение.

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

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

🏆 источник

#лекции #cpp #programming

@cpluspluc
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥13👍82🤩2