Шаблон CMake-проекта с переключениями библиотеками тестирования
Этот шаблон проекта позволяет легко переключаться между различными фреймворками тестирования в C++/Qt: Структура проекта (предполагаемая) Шаблон Как собрать
CMake и библиотека Boost: интеграция в C++-проект
Введение Boost — одна из наиболее масштабных и зрелых библиотек для C++, предоставляющая компоненты от метапрограммирования и многопоточности до сетевого взаимодействия и сериализации. Многие части Boost легли в…
QSignalSpy — инструмент для тестирования сигналов в Qt
QSignalSpy — мощный класс из модуля QtTest, который используется для отслеживания сигналов во время юнит-тестирования. Он позволяет проверить, был ли сигнал отправлен, сколько раз, с какими аргументами и…
Введение в STL — стандартную библиотеку шаблонов C++
STL — это мощный набор обобщённых контейнеров, алгоритмов и итераторов, встроенный в стандарт C++. Она делает разработку более эффективной и безопасной. Основные компоненты STL: Пример: простой vector std::vector…
std::array в C++: статический массив с возможностями STL
В языке C++ массивы бывают двух основных типов: обычные C-массивы и более безопасные, оборачивающие их структуры — например, std::array. В этой статье мы рассмотрим, что такое std::array, чем…
Руководство по std::vector в C++
std::vector — один из наиболее часто используемых контейнеров в стандартной библиотеке C++ (STL). Это динамический массив, который автоматически управляет памятью: при необходимости расширяется, а при удалении элементов —…
Флаг компиляции QT_DISABLE_DEPRECATED_BEFORE=0x060000 в Qt
Что это за флаг? QT_DISABLE_DEPRECATED_BEFORE — это предпроцессорный флаг, позволяющий отключать устаревшие API Qt, объявленные до определённой версии. Он активно используется при подготовке проектов к переходу на новую…
Сравнение std::array и QVector: какой контейнер выбрать?
В C++ и Qt есть множество контейнеров для хранения данных. Два часто используемых варианта — это std::array из STL и QVector из Qt. Оба обеспечивают удобный доступ к…
Как использовать std::optional, std::variant и std::any в C++
овременный C++ предлагает мощные инструменты для работы с неопределенными значениями и переменными, способными хранить данные разных типов. В этой статье мы рассмотрим три ключевых компонента стандартной библиотеки: std::optional,…