이 튜토리얼에서는 C++ STL(표준 템플릿 라이브러리)에서 제공하는 multiset의 size() 함수에 대해 자세히 알아보겠습니다.
size() 함수는 해당 컨테이너에 현재 저장되어 있는 요소의 총 개수를 반환하는 멤버 함수입니다. multiset은 일반 set과 달리 중복된 값을 허용하기 때문에, 같은 값이 여러 번 삽입되면 그만큼 개수도 함께 증가한다는 점이 특징입니다.
size() 함수의 주요 특징
- 컨테이너 내 실제 요소 개수를 반환합니다.
- C++11 표준부터는 상수 시간 복잡도(O(1))로 동작하여 매우 빠릅니다.
- 중복 요소도 각각 하나의 요소로 계산됩니다.
예제 코드
#include <bits/stdc++.h>
using namespace std;
int main(){
multiset<int> s;
// 요소 삽입
s.insert(10);
s.insert(13);
cout << "multiset의 크기: " << s.size();
// 중복 값 포함 추가 삽입
s.insert(13);
s.insert(25);
cout << "\nmultiset의 크기: " << s.size();
// 요소 추가 삽입
s.insert(24);
cout << "\nmultiset의 크기: " << s.size();
return 0;
}실행 결과
multiset의 크기: 2 multiset의 크기: 4 multiset의 크기: 5
코드 설명
위 예제를 단계별로 살펴보면 다음과 같습니다.
- 첫 번째 출력: 10과 13 두 개의 요소를 삽입했으므로 크기는 2입니다.
- 두 번째 출력: 이미 존재하는 값 13을 한 번 더 삽입하고 25를 추가했습니다. multiset은 중복을 허용하므로 13이 두 개로 계산되어 총 크기는 4가 됩니다.
- 세 번째 출력: 24를 추가로 삽입하여 최종 크기는 5가 됩니다.
이처럼 size() 함수를 활용하면 multiset에 몇 개의 요소가 저장되어 있는지 손쉽게 확인할 수 있으며, 반복문에서 컨테이너 순회 조건을 설정할 때도 유용하게 사용됩니다.