Я хочу создать экземпляр класса шаблона с типами данных, которые доступны во время выполнения в переменных. Например, рассмотрим этот класс:
template <typename T, unsigned int U>
class Allocator
{
public:
T * pointer;
Allocator() { pointer = new T[U]; }
~Allocator() { delete [] pointer; }
};
Теперь я хочу использовать это так:
int main()
{
string temp = "int";
unsigned int count = 64;
Allocator<temp, count> a;
return 0;
}
Есть ли способ сделать это?
Я сталкиваюсь с этой проблемой в контексте сериализации производных классов с базовыми указателями. Я использую RTTI для определения реального типа производного класса, но информация о реальном типе хранится в строке. Моя проблема заключается в том, чтобы иметь возможность динамического вещания для типа (доступного в виде строки во время выполнения) из базового указателя. Пожалуйста, помогите.