是否可以在单个std::list
对象中存储多个不同的类类型?
我想创建可以将int
和std::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);
答案 0 :(得分:1)
您可以声明list <void*>
并将指针存储到任何对象。但另一个问题将提出你如何区分它们使用?如果你不需要,那就没关系。
答案 1 :(得分:1)
如果您使用boost::variant之类的内容,则可以将这两种类型存储在一个值中。