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

C++ STL에서 value_comp() 함수 설정

<시간/>

이 기사에서는 C++ STL의 set::value_comp(), 구문, 작업 및 반환 값에 대해 설명합니다.

C++ STL에서 무엇을 설정합니까?

C++ STL의 집합은 일반적인 순서로 고유한 요소를 가져야 하는 컨테이너입니다. 요소의 값이 요소를 식별하므로 집합에는 고유한 요소가 있어야 합니다. 집합 컨테이너에 값을 추가하면 나중에 수정할 수 없지만 집합에 값을 제거하거나 추가할 수는 있습니다. 집합은 이진 검색 트리로 사용됩니다.

설정된 항목::value_comp()?

value_comp()는 헤더 파일에 선언된 C++ STL의 내장 함수입니다. value_comp()는 비교를 위해 세트 컨테이너에서 사용하는 비교 객체의 복사본을 반환합니다. 기본적으로 이 객체는 연산자의 객체보다 작습니다. 특정 집합에서 같은 유형의 두 값을 비교하고 첫 번째 요소가 컨테이너의 두 번째 요소보다 작으면 true를 반환하고 그렇지 않으면 false를 반환하는 함수 포인터 또는 함수 객체의 한 유형입니다. 세트 컨테이너에서 값은 키 자체이므로 정렬된 형식으로 세트 컨테이너에 배치되므로 value_comp() 및 key_comp() 함수는 유사한 방식으로 작동합니다.

구문

comparison_object set_name.value_comp();

매개변수

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

반환 값

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

예시

Input: set <int> myset = {9, 8, 7, 6, 5};
   set<int>::value_compare cmp = myset.value_comp()
Output: 5 6 7 8 9

예시

#include <bits/stdc++.h>
using namespace std;
int main(){
   set<int> Set;
   set<int>::value_compare cmp = Set.value_comp();
   for (int i = 0; i <= 10; i++)
      Set.insert(i);
   cout<<"elements in set are: ";
   int front = *Set.rbegin();
   set<int>::iterator i = Set.begin();
   do {
      std::cout << *i << " ";
   }
   while (cmp(*(++i), front));
   std::cout << '\n';
   return 0;
}

출력

위의 코드를 실행하면 다음 출력이 생성됩니다 -

elements in set are : 0 1 2 3 4 5 6 7 8 9