Computer >> 컴퓨터 >  >> 프로그래밍 >> C++

C++ STL 멀티맵 max_size() 함수 완벽 정리: 사용법과 예제

이 글에서는 C++ STL에서 multimap::max_size() 함수의 동작 원리, 문법, 그리고 실제 예제를 통해 멀티맵 컨테이너가 담을 수 있는 최대 크기를 확인하는 방법을 자세히 알아보겠습니다.

C++ STL에서 멀티맵(Multimap)이란?

멀티맵은 맵(map) 컨테이너와 유사한 연관 컨테이너(associative container)입니다. 키(key)와 값(value)의 쌍으로 이루어진 요소들을 특정 순서에 따라 저장할 수 있으며, 맵과 달리 동일한 키를 가진 여러 요소를 허용한다는 점이 특징입니다. 내부적으로 데이터는 항상 연관된 키를 기준으로 자동 정렬되어 관리됩니다.

multimap::max_size() 함수란?

multimap::max_size()는 C++ STL에 내장된 함수로, <map> 헤더 파일에 정의되어 있습니다. 이 함수는 해당 멀티맵 컨테이너가 담을 수 있는 최대 요소 개수를 반환합니다.

즉, 이 함수는 연관된 멀티맵 컨테이너가 이론상 저장할 수 있는 값의 최대 개수를 확인하는 용도로 사용됩니다. 다만 이 값은 컨테이너의 잠재적 용량을 나타낼 뿐이며, 실제로 반드시 그 크기까지 도달할 수 있다고 보장하지는 않습니다.

문법(Syntax)

multiMap_name.max_size();

매개변수(Parameter)

이 함수는 어떠한 매개변수도 받지 않습니다.

반환 값(Return Value)

컨테이너가 담을 수 있는 최대 요소 개수를 반환합니다.

입력 예시

multimap newmap;
newmap.max_size();

출력 결과

Max size of multimap is − 461168601842738790

예제 코드

#include <bits/stdc++.h>
using namespace std;
int main(){
    // 멀티맵 생성
    multimap<int, int> mul;
    multimap<char,char> char_mul;
    multimap<float, float> float_mul;
    cout<<"Max size of multimap is "<<mul.max_size();
    cout<<"\nMax size of multimap is "<<char_mul.max_size();
    cout<<"\nMax size of multimap is "<<float_mul.max_size();
    return 0;
}

실행 결과

위 코드를 실행하면 다음과 같은 출력 결과를 얻을 수 있습니다.

Max size of multimap is 461168601842738790
Max size of multimap is 461168601842738790
Max size of multimap is 461168601842738790

출력 결과에서 볼 수 있듯이, int형, char형, float형 등 키와 값의 자료형이 무엇이든 시스템 환경에 따라 동일한 최대 크기 값이 반환됩니다. 이는 max_size()가 요소의 자료형보다는 시스템의 메모리 제약과 컨테이너 구조에 의해 결정되기 때문입니다.