다음을 통해 공유


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

참고 항목

참조

hash_map Class

표준 템플릿 라이브러리