RAII в C++: как избежать утечек ресурсов без сборщика мусора
Введение C++ не имеет сборщика мусора, и многие новички видят в этом источник опасности: «как же я не забуду освободить память или закрыть файл?». Ответ языка на этот…
Различные заметки по языку с/с++
Введение C++ не имеет сборщика мусора, и многие новички видят в этом источник опасности: «как же я не забуду освободить память или закрыть файл?». Ответ языка на этот…
Введение Многие приложения должны взаимодействовать с внешними программами: запускать утилиты командной строки, конвертеры, компиляторы, скрипты. В Qt для этого есть класс QProcess, который запускает внешний процесс и предоставляет…
Введение При переходе от однопоточного кода к многопоточному самая частая ошибка — продолжать использовать обычные контейнеры (QVector, QList, QMap, std::vector) из нескольких потоков без какой-либо синхронизации, считая их…
Тестирование — критически важная часть разработки программного обеспечения, особенно в C++, где ручное управление памятью и сложные абстракции могут приводить к трудноуловимым ошибкам. В этой статье мы рассмотрим…
Qt поддерживает встроенное тестирование через QTest, но при разработке на C++ часто возникает необходимость использовать внешние фреймворки: Google Test, Catch2, Doctest, Boost.Test. В этой статье сравниваются и описываются…
Умные указатели (smart pointers) — это объекты-обертки для «сырых» указателей (raw pointers), которые автоматически управляют временем жизни динамически выделенной памяти. Они были введены в стандарт C++11 для решения…
Сортировка данных — одна из самых важных задач в программировании. Различные алгоритмы сортировки отличаются по эффективности, сложности реализации и области применения. В этой статье мы рассмотрим реализацию популярных…
В C++ и Qt есть множество контейнеров для хранения данных. Два часто используемых варианта — это std::array из STL и QVector из Qt. Оба обеспечивают удобный доступ к…
QDir — это удобный класс из библиотеки Qt, предназначенный для управления каталогами и получения информации о файлах. Он позволяет работать с путями, создавать, удалять и фильтровать файлы и…
Класс QFileInfo предоставляет подробную информацию о файле или каталоге: имя, расширение, размер, дату изменения, абсолютный путь и многое другое. Подключение QFileInfo Основные свойства QFileInfo Проверка типа файла с…