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