单个列表中的多个类类型

时间:2012-02-26 15:10:56

标签: c++ list

是否可以在单个std::list对象中存储多个不同的类类型?

我想创建可以将intstd::list存储为元素的多层列表,现在我正在尝试使用std::list来实现此目的。我还需要从顶层和后续层中检索所有列表中的数据。

This question here类似,只是我想使用预定义的类。

以下第4行返回错误:

std::list<int> l;
std::list<int> subL;
l.push_back(1);
l.push_back(subL);

这会在第1天(根据第1行第3次)返回错误:

std::list l;
std::list<int> subL;
l.push_back(1);
l.push_back(subL);

2 个答案:

答案 0 :(得分:1)

您可以声明list <void*>并将指针存储到任何对象。但另一个问题将提出你如何区分它们使用?如果你不需要,那就没关系。

答案 1 :(得分:1)

如果您使用boost::variant之类的内容,则可以将这两种类型存储在一个值中。