Публикации по теме 'cpp'


Шаблон проектирования цепочки ответственности в современном C ++
Цепочка ответственности - это шаблон поведенческого проектирования, который предоставляет возможность распространять событие / запрос / команду / запрос на цепочку слабосвязанных объектов . Шаблон проектирования цепочки ответственности в современном C ++ позволяет передавать запросы по цепочке обработчиков, и при получении запроса каждый обработчик решает либо обработать запрос, либо перенаправить его следующему обработчику в цепочке. /! \: Эта статья изначально была опубликована..

Юбилей шутера Serious Sam — поиск ошибок в коде Serious Engine v.1.10
В марте 2016 года шутер от первого лица «Серьезный Сэм» отпраздновал годовщину выхода. В честь этого разработчики из хорватской компании Croteam решили открыть исходный код игрового движка Serious Engine 1 v.1.10. Это вызвало интерес большого количества разработчиков, которые получили возможность ознакомиться с кодом и улучшить его. Я тоже решил поучаствовать в улучшении кода и написал статью с обзором ошибок, которые обнаружил анализатор PVS-Studio. Введение Serious Engine —..

Приведение типов C ++ с примером для разработчиков на C
Здесь мы не только увидим приведение типов C ++ на примере для разработчиков на C, но я также расскажу, почему нам это нужно, и чит-коды, чтобы разработчики на C легко это запомнили. Хотя я не являюсь экспертом, но это то, что я до сих пор узнал из различных источников и отраслевого опыта. В C ++ существует 5 различных типов приведения типов: приведения в стиле C, static_cast , const_cast , dynamic_cast и reinterpret_cast . Это кросс-пост из моего блога . Обычно я начинаю с..

Создание простого слоя свертки с нуля
Я собираюсь пройти через способ реализации сверточных слоев на C ++ без помощи каких-либо библиотек машинного обучения. Я расскажу, как будут работать прямая и обратная связь, чтобы к концу мы смогли построить сверточный слой, который можно было бы подключить к полностью подключенной нейронной сети. В большинстве ситуаций модели, включающие сверточные слои, значительно сложнее, но пока мы будем оставаться простыми. Что такое слой свертки? Сверточный слой обеспечивает метод создания..

Анализ инструментария GTK+ Cross-Platform Widget Toolkit с помощью PVS-Studio
Айтор: Роман Фомичев Наборы инструментов для виджетов используются для упрощения процесса разработки графического интерфейса приложения, и GTK+ является одним из них. Именно этот проект я выбрал для своей первой статьи об анализаторе PVS-Studio. Я просканировал код GTK+ с помощью PVS-Studio на наличие возможных ошибок и получил довольно много сообщений об ошибках и подозрительных фрагментах. Некоторые из них довольно критичны. Общее количество багов слишком велико для статьи,..

Проверка OpenJDK с помощью PVS-Studio
В настоящее время многие проекты открывают свой исходный код и позволяют тем, кто заинтересован в его развитии, редактировать код. Мы проверим один такой проект - OpenJDK и поможем разработчикам улучшить код. Введение OpenJDK (Open Java Development Kit) - проект по созданию и внедрению платформы Java (Java SE), который теперь является бесплатным и с открытым исходным кодом. Проект стартовал в 2006 году компанией Sun. В проекте используются несколько языков - C, C ++ и Java. Нас..

Многопоточность в C++ 11 — Часть 1. Запуск потоков
В этой статье делается попытка дать представление о наиболее широко используемых конструкциях потоков в C++. Мы будем использовать конструкции из C++ 11, и это стандарт, в котором впервые появилась поддержка многопоточности. До C++11 программисту приходилось полагаться на pthread_api для выполнения многопоточности. Новый стандарт C++11 обеспечивает более стандартизированную поддержку потоков на всех платформах, где доступен компилятор, совместимый с C++. Как запустить тему? Ну, у вас..