vector <unordered_map <string, DomainInfo *> *> victimDomains;
这是什么意思?
我得到了第一颗星(DomainInfo*
),但第二颗星是什么?
让我们说DomainInfo
有两个属性ID
和name
。如果我想将DomainInfo
中的第二个元素放在unordered_map
的第三个victimDomains
中,我该怎么称呼它?
我的问题不正确吗?
谢谢,
答案 0 :(得分:6)
简单来说,它是(vector
映射unordered_map
s到string
指针的DomainInfo
指针。 (使用括号表示级别)
你想做
(*victimDomains[2])[<domainInfoKey>]->name;
^B ^A ^C ^D
A - 第二个元素 - 指向地图的指针
B - 取消引用指向地图的指针以获取地图
C - 获取DomainInfo
指针(需要输入正确的字符串)
D - 使用 - &gt;用于从DomainInfo
指针访问名称字段的语法。
以上分多步 -
unordered_map <string, DomainInfo *> *map = victimDomains[2];
DomainInfo *dmInfo = *map[<domainInfoKey>];
Name name = dmInfo->name;
答案 1 :(得分:1)
要访问特定的DomainInfo
,您需要知道unoreder_map
中的密钥。完全如此,你的问题(如何访问?)无法回答。但是,如果您知道DomainInfo
的密钥是假设"blah"
,那么您可以这样做:
(*victimDomains[2])["blah"]->name