C++ 표준 라이브러리
C++ 언어에서 사용되는 기본 라이브러리로, C++ 컴파일러에 의해 제공된다. 표준 라이브러리는 std 네임스페이스 안에 있는 여러 클래스와 함수를 포함하, STL은 표준 라이브러리의 일부이다.
STL(Standard Template Library)
STL(Standard Template Library)은 C++ 표준 라이브러리의 일부로서, 데이터 구조와 알고리즘을 구현한 템플릿 클래스들의 집합이다. STL은 C++ 개발자들이 높은 수준의 추상화를 이용하여 복잡한 작업을 더 간결하게 표현할 수 있도록 돕는데, 크게 아래와 같은 세 가지 부분으로 구성된다.
1. 컨테이너(Container)
- 데이터 구조를 구현한 클래스의 집합. 이를 통해 개발자들이 데이터를 쉽게 저장하고 관리할 수 있다.
- vector, list, deque, set, map, stack, queue 등이 있다.
2. 반복자(Iterator)
- 컨테이너의 요소를 순회하기 위한 인터페이스를 제공한다.
- STL에서 제공하는 알고리즘과 함께 사용되며, 개발자들이 컨테이너 내의 요소에 접근할 수 있게 해준다.
3. 알고리즘(Algorithm)
- 다양한 데이터 처리 작업을 수행하는 함수 템플릿
- sort, find, count, copy 등이 있습니다.
STL은 코드의 재사용성과 효율성을 높여주며, 안정성과 유연성을 제공한다. 또한 STL은 많은 C++ 컴파일러에서 지원하므로, 이식성이 뛰어나며, C++ 개발에서 STL을 이용하는 것은 매우 일반적이다.
컨테이너
컨테이너는 동일 타입의 데이터를 저장하고 관리하는 클래스들의 집합이다.
이 클래스들은 컬렉션이라고도 부르며 동일 타입의 데이터를 저장하고, 추가, 삭제, 검색, 정렬 및 기타 작업을 수행하는 다양한 기능을 제공하는데 크게 아래 세 가지 유형으로 분류된다.
1. 시퀀스 컨테이너(Sequence Containers)
- 데이터를 선형으로 저장하며, 순서대로 접근 가능한 컨테이너
- vector, list, deque, array, forward_list 등이 있다.
2. 연관 컨테이너(Associative Containers)
- 데이터를 키-값 쌍으로 저장하며, 키를 기반으로 빠른 검색이 가능한 컨테이너
- map, multimap, set, multiset 등이 있다.
3. 컨테이너 어댑터(Container Adapters)
- 다른 컨테이너를 기반으로 새로운 인터페이스를 제공하는 컨테이너
- stack, queue, priority_queue 등이 있다.
'프로그래밍 > C++' 카테고리의 다른 글
C++ ] 2차원 vector 사용법 (0) | 2023.03.31 |
---|---|
C++ ] vector 사용법 (0) | 2023.03.31 |
범위기반 for문, 문자열에서 문자 반복 (0) | 2023.03.25 |
C 와 C++ 으로 10진수를 2진수로 변환하여 출력하기 (0) | 2022.09.01 |
C++ ] 이중 포인터와 포인터 배열의 차이 (0) | 2022.06.28 |