• Будет ли это являться сериализацией?

    maaGames
    @maaGames
    Евгений Шатунов, Я не вижу противоречий. Если объект не владеет адресуемым объектом, то он может быть тривиальным, несмотря на наличие ссылки или указателя. Если он владеет объектом, то, по определению (из данной вами ссылки), не может быть тривиальным, потому что у него будет нетривиальный конструктор копирования и деструктор (не рассматриваем вариант с утечкой памяти).
  • Будет ли это являться сериализацией?

    maaGames
    @maaGames
    Евгений Шатунов, Вы сами мне документ скинули про "тривиальные". Там английским по белому написано, что такое тривиальный тип. Сам по себе указатель - тривиальный тип, но класс, содержащий указатель (и владещющий адресуемым объектом) не является тривиальным типом.
  • Будет ли это являться сериализацией?

    maaGames
    @maaGames
    Евгений Шатунов, тривиальные типы по определению не могут содержать ссылки или указатели. POD тоже. Нет конструктора копирования по умолчанию - не тривиальный. Пожалуй, только одно исключение могу придумать, если в POD структуре есть указатель, но объект им не владеет и не управляет временем жизни, тогда конструктор копирования по умолчанию можно использовать. Но я никогда не считал за POD объекты с указателями, поэтому даже как-то не подумал про это.
  • Будет ли это являться сериализацией?

    maaGames
    @maaGames
    Если подытожить, то это можно считать сериализацией только для POD типов и с кучей оговорок об использовании.
  • Почему эта программа не скомпилируется?

    maaGames
    @maaGames
    Fango, Почти правильно исправил! Тебе в результате нужен int или double?
  • Почему эта программа не скомпилируется?

    maaGames
    @maaGames
    Fango, Тогда ты ничему не научишься. В этой функции у тебя две ошибки. Разбирайся.
    void func(double a, int b) {
        a + b;
    }
  • Почему эта программа не скомпилируется?

    maaGames
    @maaGames
    Fango, замени тем, чем тебе нужно. А потом сравни код шаблонной функции с не шаблонной и подумай над различиями.
  • Почему эта программа не скомпилируется?

    maaGames
    @maaGames
    Fango, не убрать, а заменить. Вообще, тебе ещё рано шаблоны изучать. Сперва просто с фукнциями разберись. У тебя ошибка в фукнции без шаблона.
  • Первая попытка в ООП. Прошу оценить код. Что можно было бы исправить?

    maaGames
    @maaGames
    RADION NAZMIEV, Потому что тогда этот using переносится во все h/cpp файлы, куда был подключен этот хедер и куда были подключены хэдеры, вкулючающие этот хэдер и т.д. фактически, это равносильно отсутствию пространства имён.
    using namespace можно спокойно использовать внутри функций (даже если они внутри хэдера) и внутри cpp файлов, но уже с опаской. Внутри хэдеров в 99,999% случаев using namespace испоьзовать нельзя.
  • Как назвать человека который занимается ведением логов?

    maaGames
    @maaGames
    Ярослав Иванов,
    логовед - кто разбирается в логах
    логовод - кто ведёт логи
    логоводовед - кто разбирается в тех, кто ведёт логи
    И не надо путать терминологию.
  • SetWindowPos без пространства по краям?

    maaGames
    @maaGames Автор вопроса
    STYLE DS_SETFONT | DS_FIXEDSYS | WS_MAXIMIZEBOX | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME
    EXSTYLE WS_EX_APPWINDOW

    стиль диалога такой
  • SetWindowPos без пространства по краям?

    maaGames
    @maaGames Автор вопроса
    В том то и дело, что это не в приложении дело, а в "особенностях" Windows10. Приложения же безрамочные внешне. Однопиксельная рамка(иногда) и тень вокруг окна. Причём тень гораздо больше 4-8 пикселов. В предыдущих Виндоусах вокруг клиентской области была рамка окна для изменения размера. Как я понял, теперь её визуально нет, но пустое пространство есть, наведя на которое можно менять размер. Ширина как раз где-то 8 пикселов визуально (когда мышку подводишь и курсор меняется). Но SM_CXSIZEFRAME возвращает 4 пиксела. Приложение MFC, но это не имеет значения, т.к. такое же поведение и у Firefox и у Thounderbird. Остальные приложения или в полноэкране запускаю или не выравнены по краю экрана, так что не видел таких же проблем, но они 100% есть.
    Слева и снизу к экрану нельзя прилипнуть, а сверху прилипает без зазора. Я бы добавил этот "минус" в код, но непонятно, какое конкретно брать значение и от чего оно зависит, раз SM_CXSIZEFRAME не совпадает.
  • Как удалить пометку "Есть реклама" в приложении?

    maaGames
    @maaGames
    Подождать день-два, пока данные обновятся.
  • Очищение строк в функции c++, нужно ли?

    maaGames
    @maaGames
    Евгений Шатунов, Не имеет значения, есть оно или нет. На результат работы этой функции наличие/отсутствие COW не повлияет, как и ненужный вызов clear. Просто необязательная работа, которую итак выполнит деструктор.
    Про "плачевные результаты" вполне ожидаемо, если бы запретили преобразование к Си интерфейсу, то и проблем бы не было почти :)
  • Как реализовать браузерное окно (hud) в игровом клиенте CS:S v34?

    maaGames
    @maaGames
    mayton2019, Вставить браузер вообще не проблема в наше время. Например, ultralig.ht элементарно подключается. А вот именно встроить в игру уже сложнее, это надо с API игры разбираться или хак писать, но античит может по лбу дать за это.
  • Почему нет установок в Google Play?

    maaGames
    @maaGames
    Eric Packer, Сейчас у них плашка висит, что из-за ковида все сроки поменялись. Так что сейчас сложно что-то сказать. Раз уже одобрили, то ручной проверки быть не должно и нужно подождать, пок ана серверах данные обновятся. Вряд ли это займёт больше дня-двух. Проверь в настройках, что это публичная версия, а не какая-нибудь закрытая бета. И что никаких уведомлений не появилось о чём-то недозаполненном и недонастроенном.

    Заполнение странички приложения это обязательное для всех требование, без этого просто не сможешь опубликовать публичную версию, даже для закрытых бета-версий нужно многое заполнять. Если красивые скриншоты, видосик и кратное, но завлекающее описание - может и получишь немного установок. Но я бы не расчитывал, что без рекламы будут установки. Нужен либо имидж, либо реклама.
  • Как вывести число Y?

    maaGames
    @maaGames
    Денис Загаевский, Кстати, да. Тогда в коде сразу дважды ошибка.
  • Как вывести число Y?

    maaGames
    @maaGames
    Только смысла в этом нет, потому что цифры 0-9 всегда меньше 25.
  • Как реализовать алгоритм преследования игрока с учётом препятствий-полигонов?

    maaGames
    @maaGames
    Magneto903, тогда локальный путь каждый кадр пересчитывать (или 60 раз в секунду, например), а глобальный только когда выходит за границы укрупнённой ячейки.

    Если кратчайший путь не обязателен, то вышеозвученный А* может более быстро давать глобальный путь. но у него нет никаких гарантий по времени и может довольно долго блуждать.
  • Как реализовать алгоритм преследования игрока с учётом препятствий-полигонов?

    maaGames
    @maaGames
    Magneto903, Зачем? В этом нет вобще никакого смысла.
    В таких случаях реализуют сразу два механизма перемещения: глобальный и локальный. Глобально - пройти из одной части местности до другой, например, по большой ячейстой структуре с ячейками по 10 метров (условно). Это может быть граф или прямойгольная матрица - не имеет значения. Просто глобальное задание того, куда персонаж должен идти. Локальный вариант уточняет движение в пределах ячейки, чтобы обходить мелкие препятствия, не сталкиваться с другими персонажами и тому подобное, при этом он всё равно стремится идти в глобально заданном направлении. Т.е. он шёл, наткнулся на пенёк, сделал шаг в сторону и вернулся к "основному плану". При этом глобальный путь вычисляется или один раз или в случаи какого-то критического события (мост взрвали, дорогу перегородили т .п.), а локальный путь пересчитывается или каждый кадр или с каким-то тикрейтом. Напрмиер, если один шаг персонажа занимает 0,5 секунды, то пересчитывать путь чаще, чем 2 раза в секунду не имеет смысла. За эти 0,5 секунды может отрисоваться 120 кадров, при этом персонаж физически не может изменить траекторию движения.