bullock
@bullock

Таблица с разными типами данных в c++, как создать?

Подскажите как создать тип данных таблица в c++ ? Заранее количество колонок и их тип неизвестны, количество строк тоже.
  • Вопрос задан
  • 2461 просмотр
Пригласить эксперта
Ответы на вопрос 3
maaGames
@maaGames
Погроммирую программы
boost::variant или аналог. void* + дескриптор типа. qt + qml. Много вариантов есть. Скорее всего ты не правильно задачу себе понял или не правильное решение для неё ищешь. В конце концов, можно БД подключить или каждую ячейку сериализовывать и хранить в виде строк, с десериализацией в том месте, где уже тип известен. Много вариантов...
Ответ написан
Комментировать
@mikhail_404
Скорее всего, можно объединить объекты под одной логикой, т.е. создать указатель на базовый класс Base* и хранить матрицу таких указателей, а дальше работать со всеми объектами через их общие методы (по-простому так).
std::vector <std::vector <Base*>> matrix(n, std::vector <Base*>(m));
for(size_t i = 0; i < n; ++i)
    for(size_t j = 0; j < m; ++j)
        matrix[i][j]->doSmth();
Ответ написан
Комментировать
@alex-t
Прогр. в команде rco.ru
Уже упоминавшийся boost::variant, если определен список возможных типов, в boost::variant удобно организовать общие оперции, специфицируя их для каждого типа.
Если тип вообще не известен - boost::any (но так бывает уж совсем редко).
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы