Рубрика «c++» - 7

Множество Мандельброта. 60 fps. Вращение палитры - анимация. 256 цветов. Делал я. Посмотрите YouTube. Почему? Потому что видео не статичная а движется! И это - программа. Я сделал на g++. Свободно распространяемого компилятора языка C++. И левая кнопка увеличиваем масштаб множество Мандельброта. Правая кнопка - уменьшаем. В общем - по порядку )

Первая - как записать видео? Не DwmFlush программы а файл видео который можно посмотреть. Понято что ffmpeg. Читать полностью »

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

Да.

Читать полностью »

GitHub

Onyx - язык программирования, нацеленный на базовую безопасность памяти, приятный синтаксис и опыт использования. Onyx написан на C++ с компиляцией на базе LLVM. На момент написания статьи язык поддерживает:

  1. Определение глобальных переменных

  2. Определение функций

  3. Определение локальных переменных

  4. Изменение значений переменным

  5. Вызов функций

Читать полностью »

Проблема: когда из-за «оптимизации» код замедляется

Начнём с ситуации, в которой могут спотыкаться даже опытные разработчики. Допустим, вы написали на C++ следующий код, который выглядит совершенно нормальным:

struct HeavyObject {
    std::string data;

    HeavyObject(HeavyObject&& other) : data(std::move(other.data)) {}

    HeavyObject(const HeavyObject& other) : data(other.data) {}
    
    HeavyObject(const char* s) : data(s) {}
};

std::vector<HeavyObject> createData() {
    std::vector<HeavyObject> data;
    // ... заполняем данными ...
    return data;
}

void processData() {
    auto result = createData();
}

Читать полностью »

Привет! Меня зовут Вадим.

Однажды вечером я сидел и думал: «А что если взять геопространственную индексацию , которую Uber и другие компании использует для своих сервисов, написать алгоритм генерации лабиринта, а потом искать путь через этот лабиринт прямо на реальной карте?» Звучит как что-то бесполезное? Возможно. Но разве это когда-нибудь останавливало?

Так родился проект qHexWalker — приложение на Qt 6, которое визуализирует гексагональные ячейки H3 на карте через MapLibre Native Qt, генерирует в них лабиринт алгоритмом Прима и находит кратчайший путь с помощью двунаправленного A*.

Читать полностью »

Здравствуйте, коллеги-разработчики! Я Максим, и я хочу поделиться новостью из мира C++. Я смог в 15 лет собрать Clang, LLD, LLDB, clang-extra-tools нативно в Windows, и оно работает. Но начнем мы издалека: как я вообще выбрал C++; почему не остался на MSVC, G++; как я собрал LLVM; почему не скачал уже готовые сборки от Мартина Сторшё.

Читать полностью »

Предисловие

В этой статье я расскажу про свою C++ библиотеку KASWeb (Kandelaber's Async & Safe Web requests), ставящей во главу своих принципов удобство и безопасность асинхронного кода для выполнения web запросов и реакций на их результаты.

Предыстория и мотивация

Читать полностью »

Я почти 20 лет пишу код на С++ за деньги, и почти все это время ощущаю неприязнь к инструменту, который позволяет мне безбедно жить. К тому же я занимаюсь системным программированием, а это налагает дополнительные требования к знанию языка.

Я долго не мог выразить вербально, что меня так отталкивает в C++. Однажды из любопытства меня заинтересовал Rust. Я влюбился в него не сразу, сделав не менее 3х подходов к снаряду изучению, пока наконец-то не нащупал интуитивное понимание. С этого момента Rust превратился для меня в эталон инструмента для системного программирования.

Так что и где не так?

Читать полностью »

Всем привет! Давно хотел собрать пост по структурам данным, которые есть в C++ и кратенько описать преимущество каждой из них.
В первой итерации статьи начнем с тех, что есть в стандартной библиотеке STL.

Начнем с того, что структура данных — это формальный способ организации и хранения информации в памяти компьютера, который определяет, как данные располагаются, как к ним обращаются и какие операции над ними выполняются наиболее эффективно.
Выбор структуры данных напрямую определяет производительность программы.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js