С учетом этого есть еще варианты?
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
.
Т.е. то, что Team17 30 лет назад сделали в червяках под Amiga и без каких-либо движков?