logo

C++ 지도 함수

맵은 C++ STL(표준 템플릿 라이브러리)의 일부입니다. 맵은 정렬된 키-값 쌍을 저장하는 연관 컨테이너입니다. 각 키는 고유하며 삽입 또는 삭제할 수 있지만 변경할 수는 없습니다. 키와 관련된 값은 변경될 수 있습니다.

예를 들어: 직원 ID가 키이고 이름이 값인 직원 맵은 다음과 같이 나타낼 수 있습니다.

int로 변환
열쇠 가치
101 니키타
102 남자 이름
103 깊은
104 남자

통사론

 template <class key, map::key_type class t, map::mapped_type compare="less," map::key_compare alloc="allocator&lt;pair"> // map::allocator_type &gt; class map; </class>

매개변수

열쇠: 맵에 저장될 주요 데이터 유형입니다.

유형: 맵에 저장될 값의 데이터 유형입니다.

비교하다: 동일한 유형 bool의 두 인수를 사용하고 값을 반환하는 비교 클래스입니다. 이 인수는 선택 사항이며 이진 조건자 less가 기본값입니다.

할당: 할당자 개체의 유형입니다. 이 인수는 선택 사항이며 기본값은 allocator 입니다.

int에서 문자열로

지도 만들기

다음 명령문을 사용하여 지도를 쉽게 만들 수 있습니다.

 typedef pair value_type; 

위 양식은 유형의 키를 사용하여 맵을 생성하는 데 사용됩니다. 키 유형 유형의 값 값 유형. 한 가지 중요한 점은 맵의 키와 해당 값이 항상 쌍으로 삽입된다는 점입니다. 맵에 키만 삽입하거나 값만 삽입할 수는 없습니다.

실시예 1

 #include #include #include #include using namespace std; int main() { map Employees; // 1) Assignment using array index notation Employees[101] = &apos;Nikita&apos;; Employees[105] = &apos;John&apos;; Employees[103] = &apos;Dolly&apos;; Employees[104] = &apos;Deep&apos;; Employees[102] = &apos;Aman&apos;; cout &lt;&lt; &apos;Employees[104]=&apos; &lt;&lt; Employees[104] &lt;&lt; endl &lt;&lt; endl; cout &lt;&lt; &apos;Map size: &apos; &lt;&lt; Employees.size() &lt;&lt; endl; cout &lt;&lt; endl &lt;&lt; &apos;Natural Order:&apos; &lt;&lt; endl; for( map::iterator ii=Employees.begin(); ii!=Employees.end(); ++ii) { cout &lt;&lt; (*ii).first &lt;&lt; &apos;: &apos; &lt;&lt; (*ii).second &lt;&lt; endl; } cout &lt;&lt; endl &lt;&lt; &apos;Reverse Order:&apos; &lt;&lt; endl; for( map::reverse_iterator ii=Employees.rbegin(); ii!=Employees.rend(); ++ii) { cout &lt;&lt; (*ii).first &lt;&lt; &apos;: &apos; &lt;&lt; (*ii).second &lt;&lt; endl; } } 

산출:

 Employees[104]=Deep Map size: 5 Natural Order: 101: Nikita 102: Aman 103: Dolly 104: Deep 105: John Reverse Order: 105: John 104: Deep 103: Dolly 102: Aman 101: Nikita 

회원 기능

다음은 map의 모든 멤버 함수 목록입니다.

건설자/파괴자

기능 설명
생성자 지도 구축
구축함 지도 소멸자
연산자= 지도의 요소를 다른 지도에 복사합니다.

반복자

기능 설명
시작하다 맵의 첫 번째 요소를 가리키는 반복자를 반환합니다.
cbegin 맵의 첫 번째 요소를 가리키는 const 반복자를 반환합니다.
과거 끝을 가리키는 반복자를 반환합니다.
몇 가지 과거 끝을 가리키는 상수 반복자를 반환합니다.
rbegin 끝을 가리키는 역방향 반복자를 반환합니다.
만든다 시작 부분을 가리키는 역방향 반복자를 반환합니다.
크립긴 끝을 가리키는 상수 역방향 반복자를 반환합니다.
믿다 시작 부분을 가리키는 상수 역방향 반복자를 반환합니다.

용량

기능 설명
비어 있는 지도가 비어 있으면 true를 반환합니다.
크기 맵의 요소 수를 반환합니다.
최대 크기 지도의 최대 크기를 반환합니다.

요소 액세스

기능 설명
운영자[] 주어진 키를 사용하여 요소를 검색합니다.
~에 주어진 키를 사용하여 요소를 검색합니다.

수정자

기능 설명
끼워 넣다 지도에 요소를 삽입합니다.
삭제 지도에서 요소를 삭제합니다.
교환 지도의 내용을 교환합니다.
분명한 지도의 모든 요소를 ​​삭제합니다.
위치 새 요소를 구성하고 지도에 삽입합니다.
emplace_hint 힌트를 사용하여 새 요소를 맵에 구성하고 삽입합니다.

관찰자

기능 설명
key_comp 키 비교 객체의 복사본을 반환합니다.
value_comp 값 비교 객체의 복사본을 반환합니다.

운영

기능 설명
찾다 주어진 키를 사용하여 요소를 검색합니다.
세다 주어진 키와 일치하는 요소의 수를 가져옵니다.
하한 하한값에 대한 반복자를 반환합니다.
상한 반복자를 상한으로 반환합니다.
같음_범위 주어진 키와 일치하는 요소의 범위를 반환합니다.

할당자

기능 설명
get_allocator 맵을 구성하는 데 사용되는 할당자 개체를 반환합니다.

비멤버 오버로드 함수

기능 설명
연산자== 두 맵이 동일한지 여부를 확인합니다.
연산자!= 두 맵이 동일한지 여부를 확인합니다.
연산자< 첫 번째 지도가 다른 지도보다 작은지 여부를 확인합니다.
운영자<=< td> 첫 번째 지도가 다른 지도보다 작거나 같은지 확인합니다.
운영자> 첫 번째 지도가 다른 지도보다 큰지 여부를 확인합니다.
연산자>= 첫 번째 지도가 다른 지도보다 큰지 여부를 확인합니다.
교환() 두 지도의 요소를 교환합니다.