c ++ структура и контейнер - PullRequest
0 голосов
/ 08 марта 2011

Я пишу небольшое программное обеспечение, которое занимается межпроцессной многоадресной передачей.Для каждого сообщения в каждом процессе у меня есть пара переменных, назначенных самому сообщению:

messageID
senderID
ack1
ack2
ack3
...

Я хотел бы поместить эти элементы (которых много) в контейнер, чтобы потомпростые в выполнении операции, такие как изменение значения ack1 для данного messageID (я должен следить за тем, какие процессы в моей группе уведомили меня о получении сообщения).

Какой контейнер является лучшимиспользовать в этом случае?

Спасибо

Ответы [ 3 ]

1 голос
/ 08 марта 2011

Возможно, вы захотите использовать std :: map или boost :: unordered_map (скоро станет стандартным), поскольку вы можете получить к нему доступ с помощью идентификатора сообщения.
В следующий раз, когда выЯ хотел бы ответить на такой вопрос в одиночку, взгляните на эту диаграмму .

1 голос
/ 08 марта 2011

В дополнение к std::map и boost::unordered_map, если вы планируете перебирать сообщения от данного senderID, вы можете использовать boost::multi_index_container.

1 голос
/ 08 марта 2011

Вы можете использовать карту, чтобы легко получить структуру по messageID: http://www.cplusplus.com/reference/stl/map/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...