C++ struct和container
我正在写一个处理进程间多播的小软件。对于每封邮件,在每个过程中,我有一对夫妇的分配给消息本身的变量:C++ struct和container
messageID
senderID
ack1
ack2
ack3
...
我希望把这些元素(这是很多)在一个容器中,使其以后容易执行操作,例如更改给定messageID
的ack1
的值(我应该跟踪我的组中哪些进程通知我他们得到了该消息)。
哪种情况下最适合使用哪种容器?
感谢
您可能需要使用std::map或boost::unordered_map(很快将成为标准),你可以通过邮件ID访问它。
下次您只想单独回答这样的问题时,请查看this diagram。
感谢您的图表! :) – Danilo 2011-03-09 11:48:22
@Danilo确认一个很好的答案的适当方法是在stackoverflow中的upvote。您不仅欢迎您这样做:) – 2011-03-09 20:09:35
可以使用地图可以轻松地通过messageID
取的结构:http://www.cplusplus.com/reference/stl/map/
他有很多消息。不是一个。 – 2011-03-08 14:42:23
boost :: multi_map或C++ 0x multimap。 – RedX 2011-03-08 14:54:58
除了std::map
和boost::unordered_map
,如果你打算从给定senderID
遍历消息,可以使用boost::multi_index_container
。
或他可以使用多图 – 2011-03-08 16:00:37
您的MessageID是每个消息的唯一标识符吗? – RedX 2011-03-08 14:56:19