0

ネットワークに関連するいくつかのことを分析している大きなコードがあります。

そのコードのいくつかの部分を学ぶ必要があります。しかし、次の部分が理解できませんでした。私はそのような使用法を知りません。

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

私の知る限りunordered_map、キー、マップのペアを取得し、それを格納します (コンテナー)。

4

2 に答える 2

1

タイプunordered_mapのキーとタイプstringの値がありますDomainInfo*。このマップ タイプの反復子として::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() によって初期化される最も一般的なものです。

HTH

于 2012-12-10T10:24:31.877 に答える