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

C++ STL에서 value_comp() 매핑

<시간/>

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

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

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

map::value_comp()란 무엇입니까?

map::value_comp()는 헤더 파일에 선언된 C++ STL의 내장 함수입니다. value_comp()는 비교를 위해 지도 컨테이너에서 사용하는 비교 객체의 복사본을 반환합니다. 기본적으로 이 개체는 연산자보다 작으며 연산자보다 작습니다.

특정 집합에서 같은 유형의 두 값을 비교하고 컨테이너의 첫 번째 요소가 두 번째 요소보다 작으면 true를 반환하고 그렇지 않으면 false를 반환하는 함수 포인터 또는 함수 객체의 한 유형입니다.

구문

Map_name.value_comp(key& k);

매개변수

이 함수는 매개변수를 허용하지 않습니다.

반환 값

이 함수는 연결된 집합 컨테이너의 비교 개체를 반환합니다.

예시

입력

map<char, int> newmap;
newmap[‘a’] = 1;
newmap[‘b’] = 2;
newmap[‘c’] = 3;
set<int>::value_compare cmp = myset.value_comp()

출력

1
2
3

예시

#include <iostream>
#include <map>
using namespace std;
int main() {
   map<char, int> TP = {
      { 'a', 10 },
      { 'b', 20 },
      { 'c', 30 },
      { 'd', 40 },
      { 'e', 50 },
   };
   auto temp = *TP.rbegin();
   auto i = TP.begin();
   cout <<"Elements in map are : \n";
   do {
      cout<< i->first << " = " << i->second<< endl;
   } while (TP.value_comp()(*i++, temp));
   return 0;
}

출력

Elements in map are :
a = 10
b = 20
c = 30
d = 40
e = 50