2-D вектор повышения:: вариант в C++

Я ищу для хранения информации из таблицы данных с несколькими строками и столбцами. Каждый столбец содержит различный тип (int, double, std::stringи т. д.), которые будут известны только во время выполнения.

2-й vector из boost::variant лучший способ, или есть лучшие механизмы хранения для этого?

1 ответ

Из твоего вопроса не понятно, что ты на самом деле ищешь. Ответ зависит от различных факторов:

  • Предполагая, что у вас есть разные типы для каждого столбца, являются ли типы одинаковыми для всех строк?

  • Известны ли типы во время компиляции или только во время выполнения?

В простейшем случае, когда типы известны во время компиляции и одинаковы для всех строк, почему бы просто не использовать пользовательский класс для представления столбца или std::tuple?

Если типы отличаются в разных столбцах, вы должны использовать всемогущий тип, такой как boost::any, Это также может быть самым простым решением, если типы известны только во время выполнения.

Другие вопросы по тегам