STL ( Standard Template Library)
C++ 표준 라이브러리의 일부로, 컨테이너, 알고리즘, 반복자 등의 템플릿 기반 구성 요소를 포함한다.
다양한 자료구조와 알고리즘을 직접 구현하지 않고도, 사용할 수 있다
컨테이너
데이터를 담는 자료구조
- 모든 컨테이너는 템플릿으로 구현되어 있어, 다양한 타입의 데이터를 저장할 수 있다.
- 모든 컨테이너는 메모리 관리를 내부적으로 한다. 따라서 사용 시 메모리 해제를 직접 고려하지 않아도 된다.
- 대부분 컨테이너는 반복자를 제공한다. 따라서 내부 구현을 몰라도 동일한 방식으로 컨테이너를 순회할 수 있다.
벡터
- 특정 타입에 종속되지 않는다.
- 원소 개수에 따라 내부 배열의 크기가 자동으로 조절된다.
- 임의 접근이 가능하다.
- 삽입, 삭제는 맨 뒤에 하는게 좋다.
vector<int> vec
vector<int> vec1(3, 3)
vector<int> vec2 = {1, 2, 3}
vector<int> vec3(vec2)
vector<int> vec2D(3, vector<int> (4, 0))
- push_back() : 벡터 맨 뒤에 원소 추가
- pop_back() : 벡터 맨 뒤에 원소 제거
- size() : 벡터의 크기 확인
- erase() : 벡터의 특정 위치의 원소 제거
맵
- 키 - 값 쌍은 pair<const key, Value> 형태로 저장된다.
- 키 값을 기준으로 내부 데이터가 자동으로 정렬된다.
- 중복된 키 값을 허용하지 않는다.
map<int, string> studentMap;
studentMap[101] = "Alice";
studentMap[102] = "Bob";
studentMap[103] = "Charlie";
- insert() : make_pair()로 페어를 만들어 삽입, {} 나 []로 값 추가도 가능
- find() : 특정 키가 있는지 확인, 존재하지 않으면 end() 반환
- size() : 키 값 쌍의 개수 반환
- erase(key) : 특정 key를 가진 요소 삭제
- clear() : 모든 원소를 삭제
알고리즘
sort()
내부 데이터 정렬 함수
bool compare(int a, int b) {
return a > b; // 내림차순
}
// 오름차순
sort(arr, arr + size);
// 내림차순
sort(arr, arr + size, compare);
find()
컨테이너 내부의 특정 원소를 찾아 해당 원소의 반복자를 반환하는 함수
find(first, last, 찾을 값)
반복자
반복자는 컨테이너의 요소에 일관된 접근 방법을 제공하므로, 알고리즘이 특정 컨테이너의 내부 구현과 무관하게 동작할 수 있다.
순방향 반복자 : begin() 과 end()로 앞에서부터 순차적으로 순회하는 반복자

역방향 반복자 : rbegin()과 rend()로 뒤에서부터 앞으로 역순으로 순회하는 반복자

'내일배움캠프-언리얼' 카테고리의 다른 글
| [내일배움캠프 - 언리얼] DAY 18 - 연금술 공방 관리 시스템 구현 (0) | 2025.12.22 |
|---|---|
| [내일배움캠프 - 언리얼] DAY 17 - 객체지향적 설계 (0) | 2025.12.19 |
| [내일배움캠프 - 언리얼] DAY 15 - 템플릿 (0) | 2025.12.17 |
| [내일배움캠프 - 언리얼] DAY 14 - 메모리 관리하기 (0) | 2025.12.16 |
| [내일배움캠프 - 언리얼] DAY 13 - 간단한 직업(클래스) 만들기 - 2 (0) | 2025.12.15 |