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

    @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 для сета) у тебя сравниваются только указатели.
  • STD::set erase не работает?

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

    @MarkusD Куратор тега C++
    Никита, unsigned long long n0 не является кодом C++. В этой строке нарушается стандарт языка.
    Похоже ты используешь GCC. Тебе стоит привести используемый тобой сценарий сборки сборки для обоих случав.
  • Какое направление сейчас более перспективно?

    Mishele123
    Всем привет.

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

    Sti11_Negat1ve
    Доброго времени суток.

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

    Я изучаю C++ лет этак 12 (с 6 класса, получается).

    Остается только узнать, в каком году тебе было 12 лет.

    Навыки - Синтаксис, ООП, STL, Математическая база.

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

    Скромный публичный репозиторий с кодом и нет вышки.

    На это уже есть ответ.

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

    Такая работа есть, ее полно, но нужен на такие должности отнюдь не соискатель с околоначальными навыками. Туда нужны люди уже уверенно владеющие инструментом C++. Получить такой багаж знаний и опыта можно, хоть и сложно. Тебе достаточно просто самостоятельно учиться каждый день. Это тоже относится к моей предыдущей ссылке на ответ про вышку.
  • Где можно собрать команду для разработки игры?

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

    @MarkusD Куратор тега C++
    DmItrENub, тогда тебе стоит обратить к руководству по настройке статических библиотек в студии.
    Тебе нужно правильно положить .lib файл и добавить его имя в список используемых библиотек в свойствах проекта.
  • Как пофиксить ошибку линковщика?

    @MarkusD Куратор тега C++
    DmItrENub , в какой среде собираешь свой проект?