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

Best OS agnostic way to implement doubly linked list in C++

本文关键字:最佳 操作系统 不可知 方法 链表 C++ 实现      更新时间:2023-10-16

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