我想在我的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
}
}
答案 0 :(得分:2)
我在互联网上读到std :: list可以代表一个双向链表
这正是std :: list的意思。
1)这个OS是不可知的吗?
您显示的代码不使用任何特定于操作系统的API,因此它与操作系统无关。
是否属于STL?
STL中有一个双链表。 C ++标准库中也有一个:std :: list。 std :: list的API与STL列表的API相同。毕竟前者基于后者。
2)是否存在表示双重列表的高级C ++机制?
有std :: list。