Freigeben über


map::equal_range

Gibt ein Paar Iteratoren zurück, die lower_bound der Schlüssel und upper_bound der Schlüssel darstellen.

pair <const_iterator, const_iterator> equal_range (
   const Key& _Key
) const;
pair <iterator, iterator> equal_range (
   const Key& _Key
);

Parameter

  • _Key
    Der mit dem Sortierschlüssel eines Elements aus der Zuordnung verglichen werden, Argumentschlüsselwert, die gesucht wird.

Rückgabewert

Um auf den ersten Iterator eines Paars pr auf der von der Memberfunktion, verwenden pr zurück.first und den Untergrenzeniterator dereferenzieren, Verwendung * (pr.first).Um auf den zweiten Iterator eines Paars pr auf der von der Memberfunktion, verwenden pr zurück.second und den Obergrenzeniterator dereferenzieren, Verwendung * (pr.second).

Beispiel

// map_equal_range.cpp
// compile with: /EHsc
#include <map>
#include <iostream>

int main( )
{
   using namespace std; 
   typedef map <int, int, less<int> > IntMap;
   IntMap m1;
   map <int, int> :: const_iterator m1_RcIter;
   typedef pair <int, int> Int_Pair;

   m1.insert ( Int_Pair ( 1, 10 ) );
   m1.insert ( Int_Pair ( 2, 20 ) );
   m1.insert ( Int_Pair ( 3, 30 ) );

   pair <IntMap::const_iterator, IntMap::const_iterator> p1, p2;
   p1 = m1.equal_range( 2 );

   cout << "The lower bound of the element with "
        << "a key of 2 in the map m1 is: "
        << p1.first -> second << "." << endl;

   cout << "The upper bound of the element with "
        << "a key of 2 in the map m1 is: "
        << p1.second -> second << "." << endl;

   // Compare the upper_bound called directly 
   m1_RcIter = m1.upper_bound( 2 );

   cout << "A direct call of upper_bound( 2 ) gives "
        << m1_RcIter -> second << "," << endl
        << " matching the 2nd element of the pair"
        << " returned by equal_range( 2 )." << endl;

   p2 = m1.equal_range( 4 );

   // If no match is found for the key,
   // both elements of the pair return end( )
   if ( ( p2.first == m1.end( ) ) && ( p2.second == m1.end( ) ) )
      cout << "The map m1 doesn't have an element "
           << "with a key less than 40." << endl;
   else
      cout << "The element of map m1 with a key >= 40 is: "
           << p2.first -> first << "." << endl;
}
  
  
  
  

Anforderungen

Header: <map>

Namespace: std

Siehe auch

Referenz

map Class

Standardvorlagenbibliothek