我有一段代码正在分析一些与网络相关的事情。
我需要学习该代码的某些部分。但我无法理解以下部分。我不知道这样的用法。
unordered_map < string, DomainInfo *>::iterator hostTrafficItr;
据我所知unordered_map
,得到一个键、映射对并包含它(一个容器)。
我有一段代码正在分析一些与网络相关的事情。
我需要学习该代码的某些部分。但我无法理解以下部分。我不知道这样的用法。
unordered_map < string, DomainInfo *>::iterator hostTrafficItr;
据我所知unordered_map
,得到一个键、映射对并包含它(一个容器)。
您unordered_map
有一个 type 的键和一个 type 的string
值DomainInfo*
。::iterator
声明为此映射类型hostTrafficItr
的迭代器。
阅读一本好的 C++ 参考书可能是个好主意。如果您需要在线参考,可以使用:http ://www.cplusplus.com/
这是(可能是标准的)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() 初始化。
高温高压