Публикации по теме '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++.
Путь — это строка символов, представляющая..