Есть ли контейнер С++, который я мог бы использовать или строить, который может содержать, скажем, типы int
и string
и double
? Проблема, с которой я сталкиваюсь, заключается в том, что всякий раз, когда я пытаюсь заполнить, скажем, карту, вектор или список, скажем, следующим образом:
int x;
string y;
double z;
Я ограничен форматом:
list<int> mycountainer;
vector<string> mycontainer;
который заставляет mycontainer
состоять только из одного типа.
Прежде чем кто-либо предложит обобщения, это не сработает, поскольку стандартные контейнеры vector
и list
, которые поставляются с С++ , уже являются общими - они могут быть контейнерами для любых типов, но не могут содержать несколько типов.
Я бы хотел, чтобы избежать использования Boost, если это вообще возможно - я бы предпочел, если бы был простой способ, которым я мог бы это сделать сам.
[править] Эй, парень, большое спасибо за ваши предложения - я должен объяснить, как я буду использовать этот контейнер, но это немного осложнило, следовательно, (большое) упрощение выше. Я думаю, что лучший вариант здесь - использование Boost. Еще раз спасибо.