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


Быстрое уменьшение ксенсора с помощью SIMD
xtensor уже имеет множество доступных математических функций: мы поддерживаем большую часть API NumPy прямо здесь, в C ++. Одна из областей, где в прошлом мы были немного медленнее, чем NumPy, - это сокращения. Сокращения - это операции, при которых количество измерений уменьшается путем агрегирования значений по одному или нескольким измерениям, например, путем их суммирования. Как вы знаете или не знаете, xtensor имеет ленивую модель выполнения. Это означает, что при вызове auto s =..

Когда вы смешиваете гайки и болты: преобразование типов
Когда переменные или значения оператора имеют разные типы данных, C++ автоматически преобразует их в один и тот же тип данных. Это может повлиять на результат математических выражений и привести к скрытым ошибкам, закрадывающимся в вашу программу. Давайте заглянем внутрь и посмотрим, как работает ранжирование типов данных. Что происходит, когда int умножается на float , какой тип данных будет результатом? Как насчет double , разделенного на int ? Есть ли способ предсказать, какой..

C ++: shared_ptr и как написать свой
В предыдущем посте мы обсуждали умные указатели - что это такое и чем они лучше обычных указателей w.r.t. управление динамически выделяемой памятью. Мы также узнали о классе интеллектуального указателя, присутствующем в STL, т.е. unique_ptr , и о том, как мы можем реализовать наш собственный класс интеллектуального указателя. В продолжение мы собираемся обсудить shared_ptr и то, как мы можем написать класс, который работает так же, как стандартный класс shared_ptr. shared_ptr..

Проверка 7-Zip с помощью анализатора PVS-Studio
Одной из программ, которая позволяет решить проблему сжатия данных, является популярный файловый архиватор 7-Zip, которым я сам часто пользуюсь. Наши читатели давно просили нас проверить код этого приложения. Что ж, пора взглянуть на его исходный код и посмотреть, что PVS-Studio умеет обнаруживать в этом приложении. Введение Пара слов о проекте. 7-Zip — бесплатный файловый архиватор с высокой степенью сжатия данных, написанный на языках C и C++. Размер этого проекта составляет 235..

Атомный. С++ и Go.
Первая статья будет о сравнении атомарных примитивов в Go и C++. Атомарные операции — самые примитивные операции синхронизации. Более сложная конструкция синхронизации использует скрыто атомарные примитивы. Например, Mutex и WaitGroup . Атомарная операция гарантирует, что только один поток будет обращаться к памяти за раз. Секрет этой операции в том, что у ассемблера есть специальные инструкции. Давайте проверим простой пример: var value int // global counter func operation()..

C ++ Hello World и бокал вина, о боже!
Это правильный вариант Hello World в C ++. Все остальные Hello World неверны . Но я не здесь рассуждаю о том, как using namespace std; кристаллизует все, что было испорчено с преподаванием C ++. Возможно, в другой раз. Сегодня мы собираемся скомпилировать этот hello world , чтобы его можно было запустить в целевой системе . Но сначала позвольте мне рассказать вам кое-что обо мне. Я использую Linux для развлечения и получения прибыли. Я считаю, что это..

Пришествие кода — Как GIF для твоего двора — Головоломка 18
Привет ! Меня зовут Ксавье Жувено, и вот восемнадцатая часть длинной серии статей о Пришествии кода . Предыдущую часть можно найти здесь В этом новом посте мы собираемся решить проблему от 18 декабря 2015 года под названием «Как GIF для вашего двора». Решение я предложу на C++, но рассуждения можно применить и к другим языкам. Часть 1 Проблема Полную версию этой проблемы можно найти непосредственно на сайте Пришествие кода , здесь я опишу лишь суть проблемы: У нас снова есть..