从网络我收到某些条目。这是股票交易所报价,类似:“HP 100 1”,“HP 101 10”,“HP 102 3”等。
一个网络数据包可能包含一个或多个条目。从理论上讲,网络数据包可以包含多少条目:Maximum transmission unit of the network / sizeof(entry)
。但是,此限制可能因机器和应用程序的启动位置而异。
每次收到新数据包时,我都需要将条目存储在集合中。我删除了以前的项目,只是在集合中放置新项目。我们假设现在集合包含CURRENT项目数,并且我收到了新项目数量,而不是:
所以这个想法很简单:
Maximum transmission unit of the network / sizeof(entry)
如果可以使用任何现有的stl
或boost
集合,或者我必须自己编写?
实际上我可以使用纯数组 - 但是大部分缺失部分都是“自动增长”,因为即使在运行时我也无法计算最大大小。
另一个选择 - 我可以使用任何现有的集合,但另外存储自己的“大小”。永远不要减少集合的大小,而是始终使用“我的”“大小”副本。因为我永远不会减少收藏大小,它永远不会丢弃物品。这应该有效,但有点“棘手”。