Catch2 в основном для модульного тестирования C++, но он также предоставляет базовые функции микробенчмаркинга и простые возможности BDD.
Главное преимущество Catch2 в том, что его можно использовать просто и естественно. Имена тестов не обязательно должны быть валидными идентификаторами, а утверждения выглядят как обычные булевы выражения C++.
@cpluspluc
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14❤4🔥2
oneDNN предоставляет ряд базовых строительных блоков для задач Deep Learning.
Библиотека оптимизирована для процессоров архитектуры Intel, Intel Graphics и процессоров на базе 64-битной архитектуры Arm (AArch64).
Также oneDNN имеет экспериментальную поддержку следующих архитектур: NVIDIA GPU, AMD GPU, OpenPOWER Power ISA (PPC64), IBMz (s390x) и RISC-V.
@cpluspluc
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12❤5🔥3🤔2
Библиотека 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
@cpluspluc
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍17❤6🔥4
Elements написана с использованием возможностей C++17.
Имеет декларативный интерфейс с логичным и понятным синтаксисом Domain Specific Embedded Languages (DSEL) для построения элементов GUI. Декларативное описание GUI пишется исключительно на C++, поэтому нет необходимости во внешнем визуальном редакторе GUI или генераторе кода.
Можно без проблем встроить Elements в любое приложение, и она будет хорошо сочетаться с другими библиотеками и фреймворками GUI.
Плюс Elements может сосуществовать с такими компонентами как VST и AU.
@cpluspluc
Please open Telegram to view this post
VIEW IN TELEGRAM
👍25❤4🔥3
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Задача о Ханойской башне
Быстрая сортировка (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
👍31❤3🔥3
git clone https://github.com/webui-dev/webui.git
cd webui
nmake -f Makefile.nmake
# или mingw32-make
WebUI позволяет использовать любой веб-браузер в качестве GUI; на бэкенде можно подключить C++ или другой язык, а на фронтенде — HTML5
@cpluspluc
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16🔥8❤1
Media is too big
VIEW IN TELEGRAM
Лекция Константина Владимирова.
В языке C++ есть синтаксис и семантика.
Когда мы говорим о синтаксисе, мы говорим о контекстно-независимых конструкциях, которые просто что-то означают. Например, if — это всегда if.
Но когда мы говорим о семантике, мы сталкиваемся с необходимостью для компилятора что-то сделать или что-то выяснить: разрешить имя, инстанцировать шаблон, вывести тип, вычислить константное выражение.
Можно сказать что в каждый такой момент мы стартуем некий процесс, развивающийся по своим правилам.
Этот доклад посвящен описанию взаимодействующих семантических процессов в языке, как с точки зрения внутренностей компилятора, так и с точки зрения стандарта языка.
🏆 источник
#лекции #cpp #programming
@cpluspluc
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥13👍8❤2🤩2