map::equal_range
Yineleyicilerde çiftini temsil eden verir lower_bound anahtarın ve upper_bound anahtarı.
pair <const_iterator, const_iterator> equal_range (
const Key& _Key
) const;
pair <iterator, iterator> equal_range (
const Key& _Key
);
Parametreler
- _Key
Aranmakta eşlemesinden bir öğe sıralama anahtarı ile karşılaştırılmak üzere bağımsız anahtar değeri.
Dönüş Değeri
İlk Yineleyici çiftinin erişmek için pr üye işlevi tarafından döndürülen, kullanmak pr. ilkve alt sınır Yineleyici başvuru için * (pr.ilk). İkinci Yineleyici çiftinin erişmek için pr üye işlevi tarafından döndürülen, kullanmak pr. İkincive üst sınır Yineleyici başvuru için * (pr.İkinci).
Örnek
// 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;
}
Gereksinimler
Başlık: <map>
Namespace: std