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