• Где можно найти курс по разработке 3д игры на c++ и vulkan?

    @MarkusD Куратор тега C++
    ViT93, короткие ссылки пришлось вставлять из-за политики хабра. У них в фильтрах слов стоит все те слова, что используются в ссылках почти на все связанное с вулканом.
    https://qwikcourse.ru/ru/c/vulkancookbook
  • Почему крашит консоль при инжекте dll?

    @MarkusD Куратор тега C++
    persiks , с подобными вопросами тебе тут помогут только статью УК определить, по которой ты сядешь в конце концов.
  • UE 4.27 Компиляция игры на Андроид?

    Nurka98 , в logcat устройства пишется диагностика в случае ошибки установки. Там, как правило, пишется подробная информация о причинах отказа.
  • Как записать массив пикселей в изображение?

    @MarkusD Куратор тега C++
    RabraBabr, а почему эти вопросы адресованы мне? Я не знаю есть ли у автора в топологии каналов альфа. Я не знаю желаемый автором формат представления.
    Я свои вопросы задал с целью узнать это все.
  • Как записать массив пикселей в изображение?

    @MarkusD Куратор тега C++
    vadimzelin0 , тип uint32_t говорит о том, что ты работаешь с четырехканальным цветом восьмибитной глубины. Какая топология каналов в представлении пикселя у тебя?

    Возможно ли записать эти цвета в картинку?

    Картинки бывают разных форматов: bmp, tiff, gif, jpeg, png, flif и так далее. Какой конкретно формат представления изображения тебя интересует?
  • Как записать массив пикселей в изображение?

    @MarkusD Куратор тега C++
    mayton2019
    И пиксель бывает разный. RGB-24bit, RGB-16. Палитровые по 8,4,2 bit/pixel.

    И зачем это все при работе с четырьмя восьмибитными каналами пикселя?
  • Как изменить атрибуты в объекте C++ через ввод?

    @MarkusD Куратор тега C++
    По cin >> mark; дополнить могу только что в этой строке UB.
    Разыменование неинициализированного указателя ведет к undefined behavior. С этого момента программа может сделать абсолютно что угодно.
  • Можно ли делать так чтобы константный текст брался на этапе "(пре)компиляции" из фаила который не являеся source code?

    Ben L
    Привет!

    Интересует решение такой задачи:

    П3.4 регламента работы сервиса: Вопрос и его описание не должны содержать приветствий и прочих «лирических отступлений».

    P.S.: Можно ли делать тоже самое на C/C++?

    П3.7 регламента работы сервиса: Не размещать несколько разнородных вопросов в рамках одного вопроса.

    Так же следует обратить внимание на П3.1 регламента работы сервиса: Указывать только теги, имеющие непосредственное отношение к вопросу.
  • Как преобразовать структурные исключения в обычные?

    @MarkusD Куратор тега C++
    Марат Нагаев
    код очень часто валиден и там, и там

    Что ты понимаешь под словом "валиден"?
  • Как преобразовать структурные исключения в обычные?

    @MarkusD Куратор тега C++
    Марат Нагаев
    Вообще си и с++ действительно очень похожи

    Вообще и полностью не похожи. И я бы не стал на твоем месте без знаний и опыта пускаться в рассуждения об этом.
    У C++ столько кардинальных отличий в поведении, синтаксисе, смысловой нагрузке и требуемом от пользователя опыте, что ни о каком даже отдаленном подобии сходства и речи быть не может.
  • Как отправить готовую написанную игру на другой компьютер?

    @MarkusD Куратор тега C++
    Станислав Макаров , особого внимания достойны суффиксы D в именах библиотек.
    Автор вопроса передает своему другу артефакт отладочной сборки, который работать способен только в окружении ровно той же версии студии, в которой был собран.

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

    После всего этого, если бинарник запускается у тебя на компе стандартным образом, он запустится и у друга тоже.
  • Почему возникает эта ошибка?

    @MarkusD Куратор тега C++
    Wataru
    Надо смотреть, что там get_childrens возвращает.

    Ошибка у автора находится в коде range-based for-loop, у которого весьма интересное и зависящее от стандарта поведение.
    А в качестве аргумента цикла выступает обобщение item, тип которого выводится с учетом cvq-квалификаторов и указательности, но без учета ссылочности.
    В качестве типа item там выводится std::unique_ptr<Node*>, что тоже выглядит весьма странно (владеющий указатель на сырой указатель).

    Поэтому, все верно, auto& item исправит проблему, равно как и более подходящее здесь обобщение decltype( auto ) item.
  • Где найти классификацию и теорию компьютерных игр?

    еще один вопрос, ну да, комментарий человека с, без малого, двадцатью годами в разработке игр бесполезен, конечно.
    Счастливо оставаться с текущим набором знаний. :)
  • Где найти классификацию и теорию компьютерных игр?

    еще один вопрос , тебе стоит подробно рассказать о своих навыках в разработке ПО, как минимум.
    Да, от этого будет зависеть ответ на твой вопрос.

    но сам не игроман и плохо в этой теме разбираюсь

    А зачем тебе заниматься движком, будучи непрофессионалом в этой области? Тем более - движок делать без навыков.
    Это, в целом, не так просто и многие люди на эту задачу кладут долгие годы своей личной жизни.
    Не проще ли взять любой из готовых и открытых?

    мне нужно создать движок на основе какой-нибудь библиотеки который охватит максимум потребностей игродела-любителя лет десяти

    Любителю-игроделу лет десяти хватит юньки, кокоса или годота. Зачем зашиваться в такую большую и сложную задачу, как разработка движка?
    Есть и куда более простые инструменты для самых маленьких разработчиков игр.
  • Работа C++ Junior в 2022?

    Иван Стефаненко
    Я изучаю язык 12 лет. С 11. Сейчас мне 23.

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

    Я не до конца понимаю, как добывать эти навыки и знания.

    С этим помогает вышка. Не с профессией, а именно с базовым набором знаний и стимулами к твоей самоорганизации. Вышка сегодня не про профессию.

    Не так давно, кстати, нашёл сравнительно молодую дорожную карту, которая даёт какой-то взгляд вширь на эту структуру.
    К слову, можете что-то о ней сказать?

    А я тебе за нее большое спасибо скажу. Не видел еще ни разу такую. Интересная она, надо изучить, мне любопытно. :)
    Даже если я там ничего нового для себя не узнаю, потраченного времени все равно не пожалею потому что хотя бы уже знакомое повторю. Это тоже полезно.

    Той же компьютерной графике посвещены DirectX, Vulkan, OpenGL и т.д. и как вообще вести себя с этим многообразием?

    Из тех 8 лет моего первого знакомства с плюсами я попутно учился в универе, получил диплом, изучил и OpenGL, и DirectX, и работу со звуком, и сетевые интерфейсы, и базовые шаблоны проектирования. У меня была мечта: написать свой игровой движок. Я ее осуществил в первый раз в 2006 году. В 2007 году я уже писал код в довольно живой и нагруженный сервер одной ММО с более с чем 1к уникальных пользователей в сутки.
    Технологии - это тоже инструменты. Технологий огромное количество, изучать все времени и сил не хватит. Поэтому надо оптимизировать этот процесс - надо изучать только то, что тебе будет полезно в будущем. А на нерелевантные технологии стоит только поглядывать или просто иметь в виду их существование.
    Ресурсов твоего мозга на все подряд не хватит, времени - точно не хватит. Та же графика и звук требуют масштабной практики длиной в годы. Изучай только то, что нужно для твоей будущей работы.

    Но сейчас у меня 70 откликов на HH молча отвергнуты или не просмотрены вовсе.

    Сейчас рынок перегрет такими же людьми, как и ты. Плюс, туда сейчас валом вывалились все те, кто не смог работать там где работал из-за сложившейся сейчас обстановки в мире.
    Твоя конкурентоспособность сейчас довольно низкая. Повысить ее помогают твои знания, твой стаж и твой открытый код - участие в open source проектах и самостоятельная разработка своих идей. Загляни в проекты гугла и майков, там и поучиться можно много чему, и поработать можно тоже много с чем.

    Я ничерта не понимал, проходил тест за тестом по плюсам, получал на них высокие баллы, сильно высокие, но всё равно выглядит всё так, как - будто скорее эти тесты ненадёжны, нежели я ориентируюсь в профессии.

    Все именно так. Тесты ненадежны. Сориентироваться они тебе помогают только в том, чего ты пока еще не знаешь.
    Формальное тестирование навыков тут не срабатывает. Все это потому что ниша работы для пользователей C++ является весьма специфической, сильно фрагментирована по требованиям между областями применения и даже близкими по духу компаниями. Каждому лиду нужен свой конкретный профиль пользователя C++. В каждой компании и в каждом коллективе люди пишут по-своему, в своем стиле, со своим оформлением, со своими пайплайнами и со своими отношениями между отделами.
    Любой по шаблонам подготовленный человек с треском разбивается об неформализованное интервью. А проходят только те люди, кто понимает суть спрашиваемого и демонстрирует знание концепций языка изнутри него самого.

    К сожалению, тебе из посторонних людей никто не поможет. Мало кто даже подумает об этом. Для тебя важно собраться и самоорганизоваться в процессе своего обучения. Вышки нет - это и плохо, и не страшно если сможешь организовать свое время и свой процесс обучения.
  • STD::set erase не работает?

    @MarkusD Куратор тега C++
    Герман, всё то же самое. Два указателя, которые в данном случае пройдут проверку на равенство.
    Строки в этом месте не сравниваются.
  • Для чего в C++ сделано описание методов вне класса?

    @MarkusD Куратор тега C++
    Денис, значит, тебя интересует смысл внешнего определения методов.
    Просто, понимаешь, если пользоваться общепринятой терминологией в разговоре, появляется шанс что тебя лучше поймут. И в обратную сторону тоже, мысли в формулировках с использованием общепринятой терминологии для тебя тоже будут более понятными.

    Я хочу задать еще один уточняющий вопрос. Ты спрашиваешь о внешнем определении методов. А суть разделения на объявление и определение глобальных функций для тебя уже стала понятной? Или, например, суть внешнего (т.е. extern) объявления глобальных переменных и констант?
  • Для чего в C++ сделано описание методов вне класса?

    @MarkusD Куратор тега C++
    Денис , в языке есть термины объявления и определения, термина описания в языке нет.
    Какой именно из стандартных терминов ты понимаешь под своим термином описания?
  • STD::set erase не работает?

    @MarkusD Куратор тега C++
    Герман, нет. У тебя сет из указателей. Сравнивает он всегда только указатели. Под условием у тебя strcmp сравнивает строки. А во всех остальных случаях (т.е. при вызове count и erase для сета) у тебя сравниваются только указатели.