Евгений Шатунов, первая же строчка по вашей ссылке "T is TrivialType (that is, a scalar type, a trivially copyable class with a trivial default constructor". Если !"trivially copyable class", то это не TrivialType. Именно это я имел в виду под "по определению".
В любом случае, тривиальный или нет, но наличие указателя запрещает "сериализацию" бинарного дампа памяти всего объекта разом. Всё, я потерял интерес к этой теме.
Евгений Шатунов, Я не вижу противоречий. Если объект не владеет адресуемым объектом, то он может быть тривиальным, несмотря на наличие ссылки или указателя. Если он владеет объектом, то, по определению (из данной вами ссылки), не может быть тривиальным, потому что у него будет нетривиальный конструктор копирования и деструктор (не рассматриваем вариант с утечкой памяти).
Евгений Шатунов, Вы сами мне документ скинули про "тривиальные". Там английским по белому написано, что такое тривиальный тип. Сам по себе указатель - тривиальный тип, но класс, содержащий указатель (и владещющий адресуемым объектом) не является тривиальным типом.
Евгений Шатунов, тривиальные типы по определению не могут содержать ссылки или указатели. POD тоже. Нет конструктора копирования по умолчанию - не тривиальный. Пожалуй, только одно исключение могу придумать, если в POD структуре есть указатель, но объект им не владеет и не управляет временем жизни, тогда конструктор копирования по умолчанию можно использовать. Но я никогда не считал за POD объекты с указателями, поэтому даже как-то не подумал про это.
RADION NAZMIEV, Потому что тогда этот using переносится во все h/cpp файлы, куда был подключен этот хедер и куда были подключены хэдеры, вкулючающие этот хэдер и т.д. фактически, это равносильно отсутствию пространства имён.
using namespace можно спокойно использовать внутри функций (даже если они внутри хэдера) и внутри cpp файлов, но уже с опаской. Внутри хэдеров в 99,999% случаев using namespace испоьзовать нельзя.
Ярослав Иванов,
логовед - кто разбирается в логах
логовод - кто ведёт логи
логоводовед - кто разбирается в тех, кто ведёт логи
И не надо путать терминологию.
В том то и дело, что это не в приложении дело, а в "особенностях" Windows10. Приложения же безрамочные внешне. Однопиксельная рамка(иногда) и тень вокруг окна. Причём тень гораздо больше 4-8 пикселов. В предыдущих Виндоусах вокруг клиентской области была рамка окна для изменения размера. Как я понял, теперь её визуально нет, но пустое пространство есть, наведя на которое можно менять размер. Ширина как раз где-то 8 пикселов визуально (когда мышку подводишь и курсор меняется). Но SM_CXSIZEFRAME возвращает 4 пиксела. Приложение MFC, но это не имеет значения, т.к. такое же поведение и у Firefox и у Thounderbird. Остальные приложения или в полноэкране запускаю или не выравнены по краю экрана, так что не видел таких же проблем, но они 100% есть.
Слева и снизу к экрану нельзя прилипнуть, а сверху прилипает без зазора. Я бы добавил этот "минус" в код, но непонятно, какое конкретно брать значение и от чего оно зависит, раз SM_CXSIZEFRAME не совпадает.
Евгений Шатунов, Не имеет значения, есть оно или нет. На результат работы этой функции наличие/отсутствие COW не повлияет, как и ненужный вызов clear. Просто необязательная работа, которую итак выполнит деструктор.
Про "плачевные результаты" вполне ожидаемо, если бы запретили преобразование к Си интерфейсу, то и проблем бы не было почти :)
mayton2019, Вставить браузер вообще не проблема в наше время. Например, ultralig.ht элементарно подключается. А вот именно встроить в игру уже сложнее, это надо с API игры разбираться или хак писать, но античит может по лбу дать за это.
Eric Packer, Сейчас у них плашка висит, что из-за ковида все сроки поменялись. Так что сейчас сложно что-то сказать. Раз уже одобрили, то ручной проверки быть не должно и нужно подождать, пок ана серверах данные обновятся. Вряд ли это займёт больше дня-двух. Проверь в настройках, что это публичная версия, а не какая-нибудь закрытая бета. И что никаких уведомлений не появилось о чём-то недозаполненном и недонастроенном.
Заполнение странички приложения это обязательное для всех требование, без этого просто не сможешь опубликовать публичную версию, даже для закрытых бета-версий нужно многое заполнять. Если красивые скриншоты, видосик и кратное, но завлекающее описание - может и получишь немного установок. Но я бы не расчитывал, что без рекламы будут установки. Нужен либо имидж, либо реклама.
Magneto903, тогда локальный путь каждый кадр пересчитывать (или 60 раз в секунду, например), а глобальный только когда выходит за границы укрупнённой ячейки.
Если кратчайший путь не обязателен, то вышеозвученный А* может более быстро давать глобальный путь. но у него нет никаких гарантий по времени и может довольно долго блуждать.
В любом случае, тривиальный или нет, но наличие указателя запрещает "сериализацию" бинарного дампа памяти всего объекта разом. Всё, я потерял интерес к этой теме.