@public_cpp
17 posts

Статический анализатор кода

Статический анализ кода — анализ программного обеспечения, производимый (в отличие от динамического анализа) без реального выполнения исследуемых программ.

Ключевое слово mutable

Про ключевое слово mutable знают немногие разработчики, однако оно может быть очень полезным в ряде случаев. В этой статье мы рассмотрим случай, когда семантическая константность не эквивалентна синтаксической константности, и ключевое слово mutable позволит решить эту проблему. Но давайте обо всем по-порядку...

Явное преобразование типов в С++

В языке C++ есть 5 видов операций явного преобразования типов:

Дублирование кода

Дублирование кода — явление в программировании, при котором некоторые участки исходного кода могут встречаться более чем однажды, как внутри одной, так и в нескольких программных сущностях. Является симптомом так называемого «дурно пахнущего кода». В первую очередь потому, что увеличивается его длина; именно из-за дублирования, а не из-за совпадений.

Синглтон

Шаблон проектирования или паттерн — это повторяемая архитектурная конструкция, представляющая собой решение проблемы проектирования в рамках некоторого часто возникающего контекста.

Способы передачи параметров в функцию

Существует 3 способа передачи параметров в функцию в С++:

Перегрузка оператора ()

Перегрузка функций обеспечивает механизм создания и выполнения вызовов функций с одним и тем же именем, но с разными параметрами. Это позволяет одной функции работать с несколькими разными типами данных (без необходимости придумывать уникальные имена для каждой из функций).

Библиотека компьютерного зрения OpenCV

OpenCV (Open Source Computer Vision Library) — библиотека алгоритмов компьютерного зрения, обработки изображений и численных алгоритмов общего назначения с открытым кодом. Реализована на C/C++. Может свободно использоваться в академических и коммерческих целях.

Инициализация переменных в С++

Существует два очень похожих понятия: объявление и определение.

Область видимости переменных

Область видимости определяет, в каком блоке кода можно использовать переменную. Продолжительность жизни (или «время жизни») определяет, где переменная создается и где уничтожается. Эти две концепции связаны между собой.