同时接受任何类型对象的LinkedList



是否可以实现一个同时接受任何类型对象的链表?

例如:list.add(int(、list.add(float(、list.add(object1(、list_add(object2(

正如你所看到的,我在同一个列表中添加了不同的类型。

您可以使用std::any来满足您的需求。

有一个如何向std::list<std::any>添加元素以及如何从std::list<std::any>读取元素的示例。

#include <any>
#include <iostream>
#include <list>
int main() {
std::list<std::any> list;
list.emplace_back(1);
list.emplace_back<std::string>("ok");
for (auto& item : list) {
if (item.type() == typeid(int)) {
std::cout << "int : " << std::any_cast<int>(item) << std::endl;
} else if (item.type() == typeid(std::string)) {
std::cout << "string : " << std::any_cast<std::string>(item) << std::endl;
}
}
}

相关内容

  • 没有找到相关文章

最新更新