我需要学习用c ++编写的这些代码

时间:2012-12-10 10:12:39

标签: c++ vector iterator containers unordered-map

我有一个重要的代码,正在分析与网络相关的一些事情。

我需要学习该代码的某些部分。但我无法理解以下部分。我不知道这样的用法。

unordered_map < string, DomainInfo *>::iterator hostTrafficItr;

据我所知unordered_map获取一个密钥,地图对并包含它(一个容器)。

2 个答案:

答案 0 :(得分:1)

您的unordered_map的密钥类型为string,值类型为DomainInfo*::iteratorhostTrafficItr声明为此地图类型的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