const std::string& delimetr
- зачем эту сугубо приватную тонкость формата знать внешнему коду?std::any
используешь не по назначению. SerializationData
- это костыль как есть и назван отвратно. Какой шаблон проектирования применяешь - тебе и самому не ясно. А применяешь ты его не по месту и полностью неправильно.в качестве аргумента функции в самом объявлении функции указана ссылка.
Как так то? C++ автоматически берет ссылку?
После вызывается конструктор, которые добавляет указатель на мой скрипт в общий контейнер:
Register::Registry::RegisterActorWithComponent
- это не конструктор. Это метод.main
вызывается этот метод. std::cout << Bacteria::Print
.Bacteria::Print
? С учетом еще одного приведения - prvalue. А тип - указатель на функцию.почему, если вывести адрес указателя и адрес функции, у первого будет 16-ричная, возможно 16-циферное число, то тут просто один?
int (*)()
. Подходящей перегрузки operator <<
для такого типа аргумента нет. А самой ближайшей перегрузкой с учетом неявного преобразования будет перегрузка для булева значения, которая и пишет нолик/единичку. Учитывая что адреса функций всегда определены, std::cout << Bacteria::Print
сведется к std::cout << true
. m = {1, 2, 3, 4, 5};
Vector& operator=(const init_l<T>& l)
, то в него будет передано размещение именно локального временного, правда с пометкой иммутабильности.Vector& operator=(const init_l<T> l)
, то локальный временный будет использован для инициализации аргумента оператора, с которым тело оператора и продолжит работать дальше._NODISCARD auto operator[](const size_t pos) const
- это не просто перегрузка оператора. Это обобщение перегрузки оператора. А обобщения в языке работают очень близко к шаблонам. У них упрощенная механика, сродни обобщениям в Яве или Шарпе. Это надо читать как семейство семантически близких функций.name
и есть варианты, которая name
тут имеется в виду - то предполагать один из вариантов, даже со стопроцентной уверенностью, не стоит.
Далее тебе надо сделать ряд тестов. Самостоятельная диагностика таких проблемы без знаний - это та еще морока.
Первое - это после начала двоения выключить монитор и включить снова. После включения проверить двоение. Современные мониторы выключить можно двумя способами. Нужно обоими, один способ за один тест. Второй способ - это после обычного выключения вынуть кабель питания больше чем на 30 секунд.
Второе - подключить телек как первый монитор. Подключить его как единственный монитор. Перекинуть кабель с монитора на телек после начала двоения. Одно действие - один чистый тест, т.е. начинаем с состояния отсутствия проблемы. После каждого действия проверять наличие или отсутствие двоения.
Третье - поменять видюху. RTX 4070 Ti - это проблема сама по себе. Отвал оси при работе через HDMI может сказать о проблемах с памятью видеокарты. 4070 шальные просто сами по себе, а у Ti вообще регулярно кукушечка отлетает даже если тушка от хорошего бренда. Про китайщину даже говорить не приходится.
Четвертое - снять телеметрию GPU во время игры и точно определить время начала двоения. По телеметрии будет хорошо видно, какие изменения в состоянии видеокарты приводят к проблеме.