делать map из строки в std::function ?
или можно как-то сделать map из строки в type_info и вызывать потом по типу коструктор?
if (str == "1") return MyClass(1); if (str == "2") return MyClass("2");
Первое
а это возможно?!
А как это можно сделать с помощью std::function, если нельзя взять указатель на конструктор?
Можно взять указатель на любую другую функцию, вызывающую конструктор
а. ну это ж другое. я уж думал, что он хочет: std::map<std::string, std::function<A&()>> или типа того и туда записать конструкторы... но это невозможно
Вообще так и хотел. Значит нужен статический метод который создаёт объект ?
Именно это он и хочет. И это возможно, но естественно не конструктор туда надо записывать. А функцию, создающую объект. Напомню, что конструктор не создаёт объект, его и записывать бесполезно
Да. Можно и нестатический, или например, свободную функцию.
Я понимаю как это реализовать. Но вот то, как "он хотел" в плюсах не получится. Это не жс
Получится, достаточно лишь конструкторы в лямбду обернуть
Не получится сделать стд функцию с указателем на конструктор, а вот мэп с указателями на роу функции жа
Обсуждают сегодня