0

マルチマップのキーとしてオブジェクトを使用しています。オブジェクトは、私が作成したカスタム日付クラスです。equal_range() のオブジェクトで見つかった変数を使用できるかどうか疑問に思っていましたか?

これは、カスタム日付オブジェクトの月の変数に対してチェックされます。

それはこのようなものです(疑似コード)。

int january = 1;
foundValues = myMultimap.equal_range(january);

for (it=foundValues.first; it!=foundValues.second; ++it)
{
  cout << " " << (*it).second;
  cout << endl;
}

これは各キー オブジェクトを通過し、そのオブジェクト内の変数が「1 月」に等しいかどうかを確認し、キーとペアになった値を返しますか?

ありがとうございました。

4

1 に答える 1

0

連想コンテナーの検索メンバーは、キーのみで機能します。それらが存在するのは、コンテナーの内部構造を利用して、O(log(n))時間内に値 (またはその不在) を見つけることを保証するためです (nはコンテナー内の要素の数です)。

条件に一致するシーケンス内のすべての要素を検索する場合std::copy_if()は、適切な述語を使用することをお勧めします。

于 2012-11-25T18:37:35.297 に答える