我想在我的c ++代码中使用双向链表,该代码需要在所有操作系统上移植 - Windows,linux,MAC,Android。我在互联网上读到std::list能够代表一个双向链表。
有几个问题,例如:1(这个操作系统是不可知的吗?它属于STL吗?2(是否有任何表示双重列表的高级C++机制?
我的链表节点如下所示:
struct LinkedListNode
{
LInkedList* prev;
LInkedList* next;
struct data
{
// vectorA[]
// vectorB[]
// 2D vectors
// strings
// bool bflag
}
}
我在互联网上读到std::list能够代表一个双向链表
这正是std::list。
1(这个操作系统是不可知的吗?
您显示的代码不使用任何特定于操作系统的 API,因此它与操作系统无关。
它属于STL吗?
STL 中有一个双链表。C++标准库中也有一个:std::list。std::list 的 API 与 STL list 的 API 相同。前者毕竟是基于后者。
2(是否有任何表示双重列表的高级C++机制?
有 std::list。