hash_map::emplace_hint
[!참고]
이 API는 사용되지 않습니다.대신 unordered_map Class.
장소에 함께 배치 힌트는 hash_map에 구성 요소를 삽입 합니다.
template<class ValTy>
iterator emplace_hint(
const_iterator _Where,
ValTy&& _Val
);
매개 변수
Parameter |
설명 |
_Val |
이동 하는 데 사용 되는 값 요소를 삽입 하려면 생성 된 hash_map Class 하지 않으면는 hash_map 요소 (또는 더 일반적으로 키를 가진 변환과 정렬 된 요소)에 이미 있습니다. |
_Where |
올바른 삽입 지점에 대 한 검색을 시작 하는 곳에 대 한 힌트입니다. |
반환 값
hash_multimap::emplace 멤버 함수에 새 요소가 삽입 된 위치를 위치를 가리키는 반복기를 반환 된 hash_map, 또는 기존 요소와 동일한 순서 있는.
설명
hash_map::value_type 정렬 된 쌍의 키 값과 같은 첫 번째 구성 요소 및 요소의 데이터 값과 같은 두 번째 구성 요소 값은 요소의 수 있도록 한 쌍의 요소입니다.
삽입 하면 발생할 수 있습니다 로그 시간 대신 amortized 상수 시간에 바로 삽입 지점 다음에 오는 _Where.
Visual C++.NET 2003을 사용 하면 구성원의 시작은 <hash_map> 및 <hash_set> 헤더 파일이 더 이상 std 네임 스페이스에 있지만 오히려 stdext 네임 스페이스로 이동 되었습니다.자세한 내용은 stdext 네임스페이스를 참조하십시오.
예제
// hash_map_emplace_hint.cpp
// compile with: /EHsc
#include<hash_map>
#include<iostream>
#include <string>
int main()
{
using namespace std;
using namespace stdext;
hash_map<int, string> hm1;
typedef pair<int, string> is1(1, "a");
hm1.emplace(hm1.begin(), move(is1));
cout << "After the emplace, hm1 contains:" << endl
<< " " << hm1.begin()->first
<< " => " << hm1.begin()->second
<< endl;
}
요구 사항
헤더: <hash_map>
네임 스페이스: stdext