[c++] 컨테이너의 멤버 함수와 용도
C++ 표준 라이브러리에는 다양한 유형의 컨테이너가 있으며, 각각의 컨테이너는 특정한 용도에 맞게 설계되어 있습니다. 이러한 컨테이너를 효과적으로 활용하기 위해서는 이들이 제공하는 다양한 멤버 함수들을 잘 이해하고 활용할 수 있어야 합니다. 이번 포스트에서는 주요 C++ 컨테이너들이 제공하는 멤버 함수와 그 용도에 대해 알아보겠습니다.
1. 벡터 (vector)
vector
는 동적 배열을 나타내는 컨테이너이며, 원소의 삽입, 삭제, 접근 등 다양한 작업을 지원합니다.
일반적으로 사용되는 멤버 함수:
push_back
: 벡터의 끝에 원소를 추가합니다.pop_back
: 벡터의 끝에 있는 원소를 제거합니다.at
: 지정된 인덱스에 있는 원소에 접근합니다.
예제:
#include <vector>
#include <iostream>
int main() {
std::vector<int> vec;
vec.push_back(10);
vec.push_back(20);
std::cout << vec.at(0) << std::endl; // 출력: 10
vec.pop_back(); // 20 제거
}
2. 맵 (map)
map
은 키-값 쌍을 저장하는 연관 컨테이너로, 키를 기반으로 한 빠른 검색이 가능합니다.
일반적으로 사용되는 멤버 함수:
insert
: 새로운 요소를 삽입하거나 이미 존재하는 요소에 대한 작업을 수행합니다.erase
: 특정 키에 해당하는 요소를 제거합니다.find
: 주어진 키를 탐색하여 해당하는 위치를 반환합니다.
예제:
#include <map>
#include <iostream>
int main() {
std::map<std::string, int> ageMap;
ageMap.insert({"Alice", 25});
ageMap.insert({"Bob", 30});
auto it = ageMap.find("Alice");
if (it != ageMap.end()) {
std::cout << "Alice's age is " << it->second << std::endl; // 출력: Alice's age is 25
}
}
위와 같이, 각각의 컨테이너는 특정한 용도에 따라 다양한 멤버 함수를 제공하며, 이를 적재적소에 활용함으로써 효과적인 프로그래밍을 할 수 있습니다.