Предположим, у нас есть только строка
string typename = "int"
Как мы можем получить экземпляр по этому типу.
В C ++ вы не можете иметь тип только из string (или массива символов) Тип должен быть объявлен во время компиляции .
string
[P.S. typename - это ключевое слово в C ++, поэтому его нельзя использовать как переменную.]
typename
Это не поддерживается напрямую в C ++.Вы можете использовать Abstract Factory Pattern (см. Статью в Википедии ) и сопоставить имена классов с фабрикой, чтобы создать их.
Abstract Factory Pattern
Вы не можете сделать это напрямую в C ++.
Обычный способ сделать это - зарегистрировать все возможные типы на некоторой фабрике, которая будет создавать данные в куче.