С++. Создание динамического массива, хранящего типы данных как элементы массива. Возможно ли каким-либо образом?
Нужен механизм, позволяющий создать для программы словарь на основе двухмерного динамического массива, где <Имя типа данных (строка), тип данных>. На месте "тип данных" может быть указатель на функцию, создающую этот тип данных, адрес объекта-прототипа, или что угодно, что позволит получить нужный тип данных, при обращении к элементу массива.
Нужно это все для механизма трансляции кода, передаваемого строками во время выполнения программы, при чем этот код должен иметь возможность вызывать члены существующих в программе классов. Хочется избежать создания огромных функций, где будут описываться все типы данных и механизм их обработки.
Предпочтительно сделать, например, универсальный глобальный класс TypeCollector, который позволит в конструкторе любого нового класса просто добавить тип данных создаваемого класса в TypeCollector, а после создать объект сохраненного типа данных из другой точки кода через соответствующий метод класса TypeCollector.
demetor , про конструирование понятно. А вот разрушать ты полученные таким образом объекты как планируешь?
Напиши кодом на правильном C++ тип такой функции, который должен уметь содержать все нужные тебе варианты конструирующих функций.
Какую именно задачу ты хочешь решить описанным в вопросе механизмом?
Фабрика объектов единообразно создает классы, у которых единообразный интерфейс.
Вам нужно наделать классов, которые принимают строку значения и строку типа, обрабатывают их и ведут себя снаружи совершенно одинаково. Тогда то, что у них внутри обрабатываются данные разных типов, не будет иметь значения, и экземпляры таких классов можно будет собрать, например, в map с ключом-строкой, в которой будет тип.