hash_map::emplace
[!참고]
이 API는 사용되지 않습니다.대신 unordered_map Class.
원위치에 hash_map에 구성 요소를 삽입 합니다.
template<class ValTy>
pair <iterator, bool> emplace(
ValTy&& _Val
);
매개 변수
Parameter |
설명 |
_Val |
이동 하는 데 사용 되는 값 요소를 삽입 하려면 생성 된 hash_map Class 하지 않으면는 hash_map 요소 (또는 더 일반적으로 키를 가진 변환과 정렬 된 요소)에 이미 있습니다. |
반환 값
emplace 멤버 함수 반환 쌍 bool 요소가 삽입이 수행 된 경우 true를 반환 하 고 false 이면의 hash_map 키 같은 값의 순서에 있어 반복기 요소가 새 요소가 삽입 된 위치 또는 있는 요소가 이미 있는 경우 주소를 반환 하는 요소에 이미 포함 되어 있습니다.
한 쌍의 반복기 구성 요소에 액세스 하려면 pr 멤버 함수에 의해 반환 된를 사용 하 여 pr.first, 및 역참조를 사용 하 여 *(pr.first).액세스 하는 bool 구성 요소 쌍의 pr 멤버 함수에 의해 반환 된를 사용 하 여 pr.second, 역참조를 사용 하 고 *(pr.second).
설명
hash_map::value_type 정렬 된 쌍의 키 값과 같은 첫 번째 구성 요소 및 요소의 데이터 값과 같은 두 번째 구성 요소 값은 요소의 수 있도록 한 쌍의 요소입니다.
Visual C++.NET 2003을 사용 하면 구성원의 시작은 <hash_map> 및 <hash_set> 헤더 파일이 더 이상 std 네임 스페이스에 있지만 오히려 stdext 네임 스페이스로 이동 되었습니다.자세한 내용은 stdext 네임스페이스를 참조하십시오.
예제
// hash_map_emplace.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(move(is1));
cout << "After the emplace insertion, hm1 contains:" << endl
<< " " << hm1.begin()->first
<< " => " << hm1.begin()->second
<< endl;
}
요구 사항
헤더: <hash_map>
네임 스페이스: stdext