Автор: <span>admin</span>

STL

std::optional в C++: где использовать вместо проверок на nullptr

Введение Долгое время C++-разработчики выражали «значение может отсутствовать» через указатели и nullptr, через специальные «магические» значения (-1, 0, пустая строка) или через пару «значение + флаг успешности». Все…

Графики

Real-time графики в Qt: обновление данных на лету без просадки FPS

Введение Графики, отображающие данные в реальном времени — телеметрию датчиков, биржевые котировки, аудио-визуализацию — предъявляют принципиально иные требования к производительности, чем статичные графики: данные нужно обновлять десятки раз…

Графики

Qt Charts: встроенный модуль для визуализации данных без сторонних библиотек

Введение В отличие от QCustomPlot, Qt Charts — официальный модуль Qt (доступный как коммерческое расширение в более старых версиях, и часть открытой экосистемы Qt в более новых), интегрированный…

Графики

QCustomPlot: построение и настройка графиков шаг за шагом

Введение QCustomPlot — популярная сторонняя (но распространяемая под свободной лицензией) библиотека для построения 2D-графиков в Qt-приложениях, не входящая в сам Qt, но широко используемая благодаря высокой производительности отрисовки,…

JSON

Потоковый разбор больших JSON-файлов: альтернативы QJsonDocument для экономии памяти

Введение QJsonDocument::fromJson() загружает и разбирает весь JSON-документ в памяти целиком, что прекрасно работает для типичных ответов API размером в килобайты, но становится проблематичным для очень больших файлов —…

JSON

Конвертация между QJsonObject и пользовательскими C++ структурами (сериализация/десериализация)

Введение После разбора JSON в QJsonDocument/QJsonObject обычно требуется преобразовать данные в типизированные C++ структуры или классы для удобной работы с ними в остальном коде — обращение к obj["field"].toString()…

JSON

Валидация JSON по схеме (JSON Schema) в C++/Qt-проекте

Введение Когда приложение принимает JSON-данные из внешнего источника — REST API, конфигурационный файл, сообщение от другого сервиса — нужно убедиться, что структура данных соответствует ожиданиям, прежде чем пытаться…