我有一个重要的代码,正在分析与网络相关的一些事情。
我需要学习该代码的某些部分。但我无法理解以下部分。我不知道这样的用法。
unordered_map < string, DomainInfo *>::iterator hostTrafficItr;
据我所知unordered_map
获取一个密钥,地图对并包含它(一个容器)。
答案 0 :(得分:1)
您的unordered_map
的密钥类型为string
,值类型为DomainInfo*
。 ::iterator
将hostTrafficItr
声明为此地图类型的iterator。
阅读一本好的C ++参考书可能是个好主意。如果您需要在线参考,可以使用:http://www.cplusplus.com/
答案 1 :(得分:0)
这是(可能标准的)unorderd_map(参见http://www.cplusplus.com/reference/unordered_map/unordered_map/)迭代器的声明。
unordered_map是key-&gt;值结构,允许使用字符串来访问DomainInfo *元素以识别它们。
迭代器是一个类,允许您(如名称所示)遍历集合元素,使您可以访问集合键和值。
您可以使用以下方法访问与当前迭代器值相关的键:
hostTrafficItr->first //Has type string
和使用
的价值hostTrafficItr->second //Has type DomainInfo*
取消引用运算符返回对&lt; string,DomainInfo&gt;。
迭代器最常见的是由集合的.begin()或.end()初始化。
HTH