0

vector <unordered_map <string, DomainInfo *> *> victimDomains;

这是什么意思?

我得到了第一颗星 ( DomainInfo*) 但第二颗星是什么?

可以说DomainInfo有两个属性IDname。如果我想将第二个元素带入DomainInfo第三个元素,我unordered_mapvictimDomains怎么称呼它?我的问题不正确吗?

谢谢,

4

2 回答 2

6

用简单的英语来说,它是一个vector指向 ( unordered_maps 映射strings 到DomainInfo) 的指针。(使用括号表示级别)

你想做

(*victimDomains[2])[<domainInfoKey>]->name;
 ^B             ^A    ^C                ^D

A - 第二个元素 - 指向地图的指针。
B - 取消引用指向地图的指针以获取地图。
C - 获取 DomainInfo指针(需要输入正确的字符串)
D - 使用 -> 语法从DomainInfo指针访问名称字段。


以上分多个步骤-

unordered_map <string, DomainInfo *> *map = victimDomains[2];

DomainInfo *dmInfo = *map[<domainInfoKey>];

Name name = dmInfo->name;
于 2013-01-10T08:12:14.480 回答
1

要访问一个特定的DomainInfo,你需要知道它在unoreder_map. 因此,就目前而言,您的问题(如何访问?)无法回答。但是,如果您知道DomainInfo' 的关键是,比方说,"blah",那么您会这样做:

(*victimDomains[2])["blah"]->name
于 2013-01-10T08:17:24.690 回答