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


nCine Dev Обновление 11
Обновления с июня по первую половину июля 2019 г. Опубликовано 16 июля 2019 г. Отличные новости для этого обновления разработки: новая поддерживаемая платформа! Эмскриптен Я помню, как несколько лет назад обдумывал идею переноса nCine на Emscripten . В конце концов, у меня были все требования: я использовал OpenGL ES для Android, GLFW и SDL2 в качестве входных бэкендов, OpenAL и Vorbis для аудио, libpng для изображений и уже поддерживал POSIX API. К сожалению, всегда было..

Ежедневный бит(е) C++ | std::copy_if, std::remove_copy_if
Daily bit(e) C++ #71, Алгоритмы условного копирования: std::copy_if и std::remove_copy_if Если нам нужно выборочно скопировать элементы из одного диапазона в другой, стандарт предлагает алгоритмы std::copy_if и std::remove_copy_if . Оба алгоритма принимают предикат, копируя элементы, для которых предикат возвращает true и false соответственно. #include <vector> #include <algorithm> #include <iterator> std::vector<int> data{1, 2, 3, 4, 5, 6, 7, 8};..

Что происходит, когда мы пытаемся запустить программу
Я собираюсь написать программу на языке C и покажу вам, как эта программа работает. Вот фрагмент кода program.c Когда мы попытаемся скомпилировать вышеуказанную программу, мы получим исполняемый файл (например: a.out/program.exe ). В Java мы получим исходный или байтовый код. Приведенный выше код и скомпилированный код/исполняемый файл хранятся в дополнительной памяти . Если я пытаюсь запустить исполняемый файл, то ЦП (центральный процессор) берет исполняемый файл из..

Ежедневный бит(е) C++ | std::views::zip_transform
Ежедневный бит (е) C++ # 144, Представление n-арного преобразования C++ 23: std::views::zip_transform. C++23 std::views::zip_transform — это представление, в котором i-й элемент является результатом применения n-арного преобразования, вызываемого к i-м элементам предоставленных диапазонов. Представление представляет собой ленивую версию бинарного std::ranges::transform , обобщенную для любого количества диапазонов. #include <ranges> #include <vector>..

Отдельные потоки и статическое хранилище
Достаточно сказано, что вам следует подумать дважды, а затем трижды, прежде чем отсоединять нить. Однако рассуждение часто бывает чем-то абстрактным: сложно отслеживать и взаимодействовать с отдельным потоком, он может пережить основной поток и тому подобное. Статика тоже плохая, сами понимаете. Но вместе они составляют действительно устрашающее комбо. Вот настоящая ужасная история о том, что идет не так, когда оторвавшаяся нить касается вашей статики. Короткий рассказ..

Carbon Lang от Google: первый взгляд — Введение, часть 1
Расширение файла Carbon Файл Carbon заканчивается расширением .carbon. Структура исполняемого кода Carbon Code В Carbon каждый оператор, декларация и т. д. заканчиваются на ; VeryCoolDeclaration; Углеродный код начинается с определения нашего текущего файла кода как имени пакета: package OurPackageName api; // Developer defined package name Эта строка кода помогает нам, когда нам нужны места, необходимые для пространства имен: импорт другого углеродного кода и т. д. Carbon..

Пути C++: руководство по Windows
Пути — это уникальный компонент языка C++, который до C++17 на самом деле не реализовывался в кросс-платформенной, стандартизированной части языка. Операционная система Windows имеет собственный подход к работе с путями к файлам и каталогам, который сильно отличается от операционных систем UNIX. В этом руководстве рассматриваются функциональные возможности и свойства путей Windows, а также то, как их можно использовать в языке C++. Путь — это строка символов, представляющая..