Задать вопрос
  • Почему двоится изображение на мониторе?

    SpecteRED, отсутствие двоения при внутреннем захвате сразу исключает всю цепочку от игры и до драйвера GPU.
    Далее тебе надо сделать ряд тестов. Самостоятельная диагностика таких проблемы без знаний - это та еще морока.
    Первое - это после начала двоения выключить монитор и включить снова. После включения проверить двоение. Современные мониторы выключить можно двумя способами. Нужно обоими, один способ за один тест. Второй способ - это после обычного выключения вынуть кабель питания больше чем на 30 секунд.
    Второе - подключить телек как первый монитор. Подключить его как единственный монитор. Перекинуть кабель с монитора на телек после начала двоения. Одно действие - один чистый тест, т.е. начинаем с состояния отсутствия проблемы. После каждого действия проверять наличие или отсутствие двоения.
    Третье - поменять видюху. RTX 4070 Ti - это проблема сама по себе. Отвал оси при работе через HDMI может сказать о проблемах с памятью видеокарты. 4070 шальные просто сами по себе, а у Ti вообще регулярно кукушечка отлетает даже если тушка от хорошего бренда. Про китайщину даже говорить не приходится.
    Четвертое - снять телеметрию GPU во время игры и точно определить время начала двоения. По телеметрии будет хорошо видно, какие изменения в состоянии видеокарты приводят к проблеме.
    Написано
  • Какой вариант на ваш взгляд лучше для интерфейса?

    @MarkusD Куратор тега C++
    Dyikot, не-не. Ты на месте топчешься.
    У тебя в чем проблема же? Тебе maaGames все очень хорошо описал. Ты в сокет как будешь читать и писать? А в буфер свободной памяти?
    Первое дело - это объект, в который будет выполняться сериализация и из которого будут браться данные для десериализации. Это - шаблон потока (stream).
    Второе - это формат сериализации. Тебе требуется во всех деталях понять шаблон посетителя (visitor).
    Третье - это пейлоад, т.е. сериализуемый объект и цель десериализации. Для него есть шаблон сериализуемого (serializable).

    const std::string& delimetr - зачем эту сугубо приватную тонкость формата знать внешнему коду?
    Пока в коде у тебя видно что ты не совсем представляешь себе как все должно работать. Тебе не хватает структуры в голове сперва, поэтому код выглядит рваным.
    Написано
  • Какой вариант на ваш взгляд лучше для интерфейса?

    @MarkusD Куратор тега C++
    Dyikot, думаю, тебе уже понятно что никакой из обоих твоих вариантов не лучше. Потому что они оба одинаковы и одинаково плохие.
    Имена выбраны плохо. Из-за этого твой код вводит в заблуждение. std::any используешь не по назначению. SerializationData - это костыль как есть и назван отвратно. Какой шаблон проектирования применяешь - тебе и самому не ясно. А применяешь ты его не по месту и полностью неправильно.
    Только не думай что для тебя лично ситуация сейчас сложилась плохо. Извлекай опыт и становись грамотнее.
    Ответ на твой вопрос: оба варианта - дно. А вопроса "как надо" от тебя не было. Поэтому качественных вариантов не предлагаю.
    В сети просто море документов про сериалиацию. Мне этого хватило для выработки своей системы ценностей. Тебе тоже должно хватить. Но если задашь правильный вопрос, я на него отвечу.
    Написано
  • Данные в таком случае будут хранится в стеке?

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

    @MarkusD Куратор тега C++
    Алескей Дворяшин
    в качестве аргумента функции в самом объявлении функции указана ссылка.

    Это не объявление функции. Это - определение функции.
    При объявлении и определении функции аргументов нет, есть параметры. Аргументы появляются только в месте вызова функции.
    Это все нужно очень хорошо запомнить.

    Как так то? C++ автоматически берет ссылку?

    C++ - это язык. Работу выполняет транслятор. Ни один из них ничего сам без просьбы не делает. Язык так и вовсе лишь стандартом представлен.
    Сам что-либо делает только писатель кода. Вот как ты написал, так транслятор код согласно стандарту языка и обработает. Это ты написал передачу по ссылке, транслятор просто обработал код согласно стандарту.
    Написано
  • Почему статическая переменная инициализируется дважды?

    @MarkusD Куратор тега C++
    Quark, я нередко прошу уточнения для того, чтобы сам автор вопроса лучше разобрался в своем вопросе.
    Сейчас ты не просто опустил в тексте важную информацию, а буквально выкинул ее для себя из внимания.
    А это значит что ты обречен на рецидив проблемы. В следующий раз она снова для тебя станет нерешаемой и снова потому что ты отказался от важных деталей проблемы.
    Поэтому лучше будет поменять текст вопроса и добавить важную деталь, на которую я сослался.
    У меня совсем не было бы к тебе вопросов, если бы ты написал имена файлов, в которых находятся обозначенные у тебя глобалы, привел бы выражения инициализации этих глобалов и показал конструкторы типов этих глобалов.
    Для меня это бы означало что ты увидел проблему целиком.
    Написано
  • Почему статическая переменная инициализируется дважды?

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

    Register::Registry::RegisterActorWithComponent - это не конструктор. Это метод.
    Под вопросом то, как именно этот метод вызывается. Тебе нужно показать как именно до функции main вызывается этот метод.
    Написано
  • Google Play Console не принимает номер телефона при подтверждении аккаунта разработчика. Кто решил аналогичную проблему?

    RWGames , коротко, это вторичные санкции со стороны США.
    С 12го сентября гугл не принимает мобильные номера из РФ, РБ и частично из КЗ. Все из-за того, что в КЗ часть операторов являются субоператорами операторов РФ. Со всеми вытекающими.
    Не, ну а чо. кто-то в наши дни реально думает что у них там рынок свободный и управляется через конкуренцию? Будет надо - и закон напишут конкретно против тебя по имени.
    Написано
  • Слизался винтик, что делать?

    Cheliikk, поищи на маркете набор экстракторов. Это леворезьбовые конусы, нужен будет под марку твоего винта. Для экстракции тебе еще потребуется сверло по металлу калибра чуть меньше марки винта. Сверлом надо будет подготовить отверстие под экстрактор. Шурик же имеется?
    Попутно тебе потребуется заменный винт той же марки и из того же материала, скорее всего из нержи. На винты советую денег не жалеть, цена в себя включает качество резьбы. Ну и купить стоит впрок, чтобы менять как только шлицы на очередном поедут.
    Чтобы шлицы больше не слизывались, купи простую динамометрическую отвертку. В руководстве к ноуту всегда пишутся моменты затяжки винтов.
    Написано
  • Интересный 3D принтер?

    Hox , повышай свою подготовку в электробезопасности и электрике. А то даже программистом не сможешь работать, ТБ для допуска к ПК не пройдешь. Изложение процессов на уровне кухарки из прошлого века.
    Тебе сейчас эксперты в ответах напихают, конечно, 100% решений, но ты все равно просто замени БП. Это дешево, на алишке горы вариантов, включая и магазин Creality. Это должно быть понятно даже самому тупому недошкольнику: если на этой розетке чайник на 2.5кВт нормально кипятит воду, а БП на 350Вт от принтера гасит автомат через нее же, значит проблема в БП и его надо менять.
    Нельзя подключать нагрузку в обход предохранителей. Если из-за тебя выгорит домовая сеть или оборудование у соседей, одной проданной почкой ты не отделаешься.
    Написано
  • Почему для самого класса статическая переменная использует правильное значение, но при попытке вывести его, выдаёт 1?

    @MarkusD Куратор тега C++
    res2001, не риторический. Это стандарт. :)
    Что мы видим? std::cout << Bacteria::Print.
    Какая категория у Bacteria::Print? С учетом еще одного приведения - prvalue. А тип - указатель на функцию.
    За неимением подходящего оператора язык выполняет приведение и находит подходящий оператор.
    Написано
  • Почему для самого класса статическая переменная использует правильное значение, но при попытке вывести его, выдаёт 1?

    @MarkusD Куратор тега C++
    Ланской Кирилл,
    почему, если вывести адрес указателя и адрес функции, у первого будет 16-ричная, возможно 16-циферное число, то тут просто один?

    Потому что значение указателя на функцию или статический метод - это сырой адрес с типом int (*)(). Подходящей перегрузки operator << для такого типа аргумента нет. А самой ближайшей перегрузкой с учетом неявного преобразования будет перегрузка для булева значения, которая и пишет нолик/единичку. Учитывая что адреса функций всегда определены, std::cout << Bacteria::Print сведется к std::cout << true.
    Написано
  • Вектор и класс инициализация?

    @MarkusD Куратор тега C++
    Ланской Кирилл , не смотря на отмеченное решение, описание у тебя крайне непонятное и решение, скорее всего, не решает саму твою проблему. Даже если сняло симптомы.
    Тебе стоит привести конкретный код, чтобы с третьей стороны можно было убедиться в правильности приведенного решения.
    Написано
  • Почему glew кидает ошибки при подключении glew32s.lib?

    @MarkusD Куратор тега C++
    Soft_touch_plastic, если ты сам решил вопрос без ответов здесь, то или удали его, или напиши свое решение и отметь.
    Не стоит вот так бросать вопрос.
    Написано
  • Почему glew кидает ошибки при подключении glew32s.lib?

    @MarkusD Куратор тега C++
    Soft_touch_plastic , если говорить коротко, то не так ты делаешь всё. Прямо с момента, когда решил воспользоваться nuget-ом.
    У тебя изначальная задача какая?
    Написано
  • Почему оператор `operator=` в классе `Vector` принимает `const init_l& l`, а не `const init_l l`, и как он работает с передаваемым сп. иниц.?

    @MarkusD Куратор тега C++
    unixilus, да не. На магию это не похоже. И работать код будет не также. У него внешний эффект сходится, но поведение вообще другое.

    m = {1, 2, 3, 4, 5};
    В этом месте создается локальный временный с типом списка инициализации.
    Если оператор определен как Vector& operator=(const init_l<T>& l), то в него будет передано размещение именно локального временного, правда с пометкой иммутабильности.
    Если оператор определен как Vector& operator=(const init_l<T> l), то локальный временный будет использован для инициализации аргумента оператора, с которым тело оператора и продолжит работать дальше.
    Разница большая. Непонимание этой разницы чревато тяжелыми ошибками.
    Написано
  • Как вернуть значение на которое указывает указатель?

    @MarkusD Куратор тега C++
    Wataru, подкину тут дровишек. :)
    _NODISCARD auto operator[](const size_t pos) const - это не просто перегрузка оператора. Это обобщение перегрузки оператора. А обобщения в языке работают очень близко к шаблонам. У них упрощенная механика, сродни обобщениям в Яве или Шарпе. Это надо читать как семейство семантически близких функций.
    Поэтому, хоть автор и незнамо дела воспользовался, его ожидания близки к реальности, но все равно невыполнимы на имеющемся у него коде. И без экспертного опыта в языке тоже невыполнимы.
    Прежде всего, потому что перегрузка функции недопустима только лишь за счет типа результата.

    Автор просто не смекает разницу между системами типов C++ и Python.
    Написано
  • Почему имя параметра может совпадать с именем члена класса?

    @MarkusD Куратор тега C++
    Adamos, да не. :) Реальность иная. О том и речь. Я и работаю с разными ребятами, и общаюсь тоже с разными. И ведь ты тоже работаешь на своей ключевой позиции и общаешься с самыми разными людьми.
    У тебя есть даже свой богатый бекграунд для твоей позиции. И я ни разу не скажу что твои принципы могут быть надуманны или высосаны из пальца.
    Написано
  • Почему имя параметра может совпадать с именем члена класса?

    @MarkusD Куратор тега C++
    Adamos, если написано просто name и есть варианты, которая name тут имеется в виду - то предполагать один из вариантов, даже со стопроцентной уверенностью, не стоит.
    Стоит знать стандарт. Предполагать, гадать на кофейной гуще, проверять выдачу у транслятора конкретной платформы - это все одно и то же.

    Не знаешь стандарт? Гадать - это все что остается. Подчиненная позиция.
    Ровно такие же проблемы ты получишь и на разных именах. Даже на полностью разных. Просто потому что не понимаешь поведения написанного тобой же кода в виду незнания стандарта.
    Написано