hash_set::insert
[!참고]
이 API는 사용되지 않습니다.대신 unordered_set Class.
요소 또는 요소에 범위를 삽입 한 hash_set.
pair<iterator, bool> insert(
const value_type& _Val
);
iterator insert(
iterator _Where,
const value_type& _Val
);
template<class InputIterator>
void insert(
InputIterator _First,
InputIterator _Last
);
매개 변수
Parameter |
설명 |
_Val |
삽입할 요소의 값은 hash_set 하지 않으면은 hash_set 요소 또는 더 일반적으로 해당 키와 동일한 순서가 지정 된 요소가 이미 포함 되어 있습니다. |
_Where |
올바른 삽입 지점에 대 한 검색을 시작 하는 곳입니다.(삽입 발생할 수 있습니다 로그 시간 대신 amortized 상수 시간에 바로 삽입 지점 다음에 오는 경우 _Where.) |
_First |
복사한 첫 번째 요소의 위치는 hash_set. |
_Last |
위치에서 복사 하는 마지막 요소는 hash_set. |
반환 값
첫 번째 insert 멤버 함수 쌍을 반환 인 bool 구성 요소를 반환 true 만들기에 삽입 된 경우 및 false 경우는 hash_set 이미 키 같은 값의 순서에 있어 반복기 요소가 새 요소가 삽입 된 위치 또는 있는 요소가 이미 있는 경우 주소를 반환 하는 요소를 포함.
한 쌍의 반복기 구성 요소에 액세스 하려면 pr 멤버 함수에 의해 반환 된를 사용 하 여 pr.first 및 역참조를 사용 하 여 *(pr.first).액세스 하는 bool 구성 요소 쌍의 pr 멤버 함수에 의해 반환 된를 사용 하 여 pr.second, 역참조를 사용 하 고 *(pr.second).
두 번째 insert 멤버 함수가 반환 하는 위치에 새 요소가 삽입 된 위치를 가리키는 반복기는 hash_set.
설명
시퀀스의 요소 값으로 삽입 하는 세 번째 멤버 함수는 hash_set 의 반복기 범위에 의해 주소가 지정 된 각 요소에 해당 [_First, _Last) 지정 된 hash_set.
예제
// hash_set_insert.cpp
// compile with: /EHsc
#include <hash_set>
#include <iostream>
int main( )
{
using namespace std;
using namespace stdext;
hash_set <int>::iterator hs1_pIter, hs2_pIter;
hash_set <int, hash_compare <int, less<int> > > hs1, hs2;
hs1.insert( 10 );
hs1.insert( 20 );
hs1.insert( 30 );
hs1.insert( 40 );
cout << "The original hs1 =";
for ( hs1_pIter = hs1.begin( ); hs1_pIter != hs1.end( );
hs1_pIter++ )
cout << " " << *hs1_pIter;
cout << "." << endl;
pair< hash_set<int>::iterator, bool > pr;
pr = hs1.insert( 10 );
if(pr.second == true)
{
cout << "The element 10 was inserted in hs1 successfully."
<< endl;
}
else
{
cout << "The element 10 already exists in hs1 and"
<< " *( pr.first ) = " << *( pr.first ) << "."
<< endl;
}
hs1.insert( --hs1.end( ), 50 );
cout << "After the insertions, hs1 =";
for ( hs1_pIter = hs1.begin( ); hs1_pIter != hs1.end( );
hs1_pIter++ )
cout << " " << *hs1_pIter;
cout << "." << endl;
hs2.insert( 100 );
hs2.insert( ++hs1.begin( ), --hs1.end( ) );
cout << "hs2 =";
for ( hs2_pIter = hs2.begin( ); hs2_pIter != hs2.end( );
hs2_pIter++ )
cout << " " << *hs2_pIter;
cout << "." << endl;
}
요구 사항
헤더: <hash_set>
네임 스페이스: stdext