Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

C++ STL의 맵 emplace()

<시간/>

이 기사에서는 C++ STL에서 map::emplace() 함수의 작동, 구문 및 예제에 대해 논의할 것입니다.

C++ STL의 지도란 무엇입니까?

맵은 키 값과 매핑된 값의 조합으로 형성된 요소를 특정 순서로 쉽게 저장할 수 있는 연관 컨테이너입니다. 지도 컨테이너에서 데이터는 항상 관련 키를 사용하여 내부적으로 정렬됩니다. 맵 컨테이너의 값은 고유 키로 액세스됩니다.

지도::emplace()란 무엇입니까?

map::emplace( )는 헤더 파일 아래에 있는 함수입니다. 이 함수는 요소를 구성하고 연결된 지도 컨테이너에 삽입합니다.

emplace()는 배치할 요소의 키가 고유한 경우 새 요소를 삽입합니다. 삽입할 값과 동일한 키를 가진 요소가 없는 경우에만 삽입이 발생합니다. 이 함수는 기존 객체를 컨테이너로 복사하여 이동하는 insert()와 동일하게 작동합니다.

요소가 성공적으로 삽입되면 컨테이너 크기가 1 증가합니다.

구문

map_name.emplace(Args&& args);

매개변수

이 함수는 다음 매개변수를 받아들입니다 -

인수 − 배치하거나 삽입하려는 인수 또는 값.

반환 값

삽입이 성공하면 함수는 삽입된 새 요소를 가리키는 반복자를 반환합니다. 그렇지 않으면 컨테이너에 이미 있는 동일한 값으로 반복자를 반환합니다.

입력

map<char, int> newmap;
emplace( ‘a’, 1);

출력

a

#include <bits/stdc++.h>
using namespace std;
int main() {
   map<int, int> TP_Map;
   TP_Map.emplace(4, 50);
   TP_Map.emplace(2, 30);
   TP_Map.emplace(1, 10);
   TP_Map.emplace(1, 20);
   TP_Map.emplace(1, 30);
   cout<<"TP Map is : \n";
   cout << "MAP_KEY\tMAP_ELEMENT\n";
   for (auto i = TP_Map.begin(); i!= TP_Map.end(); i++)
      cout << i->first << "\t" << i->second << endl;
   return 0;
}

출력

TP Map is:
MAP_KEY    MAP_ELEMENT
1             10
2             30
4             50