ネットワークに関連するいくつかのことを分析している大きなコードがあります。
そのコードのいくつかの部分を学ぶ必要があります。しかし、次の部分が理解できませんでした。私はそのような使用法を知りません。
unordered_map < string, DomainInfo *>::iterator hostTrafficItr;
私の知る限りunordered_map
、キー、マップのペアを取得し、それを格納します (コンテナー)。
ネットワークに関連するいくつかのことを分析している大きなコードがあります。
そのコードのいくつかの部分を学ぶ必要があります。しかし、次の部分が理解できませんでした。私はそのような使用法を知りません。
unordered_map < string, DomainInfo *>::iterator hostTrafficItr;
私の知る限りunordered_map
、キー、マップのペアを取得し、それを格納します (コンテナー)。
タイプunordered_map
のキーとタイプ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() によって初期化される最も一般的なものです。
HTH