在C ++中实现双向链表的最佳操作系统不可知方式

时间:2017-06-22 09:42:40

标签: c++ c++11 stl linked-list c++14

我想在我的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
   }
}

1 个答案:

答案 0 :(得分:2)

  

我在互联网上读到std :: list可以代表一个双向链表

这正是std :: list的意思。

  

1)这个OS是不可知的吗?

您显示的代码不使用任何特定于操作系统的API,因此它与操作系统无关。

  

是否属于STL?

STL中有一个双链表。 C ++标准库中也有一个:std :: list。 std :: list的API与STL列表的API相同。毕竟前者基于后者。

  

2)是否存在表示双重列表的高级C ++机制?

有std :: list。