0

我有一段代码正在分析一些与网络相关的事情。

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

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

据我所知unordered_map,得到一个键、映射对并包含它(一个容器)。

4

2 回答 2

1

unordered_map有一个 type 的键和一个 type 的stringDomainInfo*::iterator声明为此映射类型hostTrafficItr迭代器。

阅读一本好的 C++ 参考书可能是个好主意。如果您需要在线参考,可以使用:http ://www.cplusplus.com/

于 2012-12-10T10:15:49.570 回答
0

这是(可能是标准的)unorderd_map 的声明(参见这里http://www.cplusplus.com/reference/unordered_map/unordered_map/)迭代器。

unordered_map 是 key->value 结构,允许使用字符串访问 DomainInfo* 元素来识别它们。

迭代器是一个类,允许您(顾名思义)遍历集合元素,为您提供对集合键和值的访问。

您可以使用以下方法访问与当前迭代器值连接的键:

hostTrafficItr->first //Has type string

和价值使用

hostTrafficItr->second //Has type DomainInfo*

取消引用运算符返回 pair<string, DomainInfo>。

迭代器最常见的是由集合的 .begin() 或 .end() 初始化。

高温高压

于 2012-12-10T10:24:31.877 回答