在实现 FIFO 时,我使用了以下结构:
struct Node
{
T info_;
Node* link_;
Node(T info, Node* link=0): info_(info), link_(link)
{}
};
我认为对于许多 STL 容器(例如 List)来说,这是一个众所周知的技巧。这是一个好习惯吗?当你说 Node 有一个类型为它的指针的成员时,这对编译器意味着什么?这是一种无限循环吗?
最后,如果这是一个不好的做法,我该如何实现更好的 FIFO。
编辑:人们,这都是关于实施的。我对 STL 库足够熟悉,并且知道来自多个库的大量容器。只是我想与可以提供良好实施或良好建议的人讨论。