1. C++ STL 이란?
C++ STL은 C++ Standard Template Library의 줄임말로,
C++ 프로그래밍 언어에서 자주 사용되는 알고리즘, 컨테이너, 함수 객체 등의 일련의 템플릿 클래스와 함수들을 모아놓은 라이브러리입니다.
C++ STL은 다양한 자료구조와 알고리즘을 제공하며, 매우 효율적으로 작동합니다.
C++ STL은 템플릿 기반으로 작성되어 있기 때문에, 제네릭 프로그래밍(Generic Programming)을 할 수 있습니다. 제네릭 프로그래밍은 데이터 타입에 독립적인 코드를 작성하는 것으로, 일반적으로 더 유연하고 재사용성이 높은 코드를 작성할 수 있습니다.
2. C++ STL 의 구성요소
STL은 다음과 같은 주요 컴포넌트들로 구성됩니다.
컨테이너(Container): 데이터를 저장하는 객체로, Vector, List, Deque, Map 등 다양한 종류가 있습니다.
반복자(Iterator): 컨테이너의 원소들을 참조하거나 조작하는 데 사용되는 객체입니다.
알고리즘(Algorithm): 정렬, 검색, 변형 등 다양한 알고리즘이 구현되어 있습니다.
함수 객체(Function Object): 함수처럼 동작하는 객체로, STL의 알고리즘에서 사용됩니다.
스마트 포인터(Smart Pointer): 자동 메모리 관리를 제공하는 객체로, 메모리 누수를 방지할 수 있습니다.
3. STL 사용 방법
C++ STL을 사용하는 가장 기본적인 방법은 컨테이너를 만들고, 반복자를 사용하여 컨테이너의 원소들을 조작하는 것입니다.
예를 들어, vector에 원소를 추가하고, 반복자를 사용하여 vector의 원소를 출력하는 코드는 다음과 같습니다.
#include <iostream>
#include <vector>
int main() {
std::vector<int> v{1, 2, 3};
// Vector에 원소 추가하기
v.push_back(4);
// 반복자를 사용하여 Vector의 원소 출력하기
for (auto it = v.begin(); it != v.end(); ++it) {
std::cout << *it << ' ';
}
std::cout << '\n';
return 0;
}
위의 예에서는,
vector를 생성하고 push_back() 함수를 사용하여 vector에 원소를 추가하고 그리고 반복자를 사용하여 원소를 출력하고 있습니다.
이와 같이 C++ STL을 사용하여 매우 간결하고 효율적인 코드를 작성할 수 있습니다.
vector 에 데이터를 추가할때는 push_back() 과 emplace_back() 을 사용할 수 있는데요.
블로그의 다른 글에서 그 차이점을 살펴보도록 하겠습니다.
감사합니다.
'IT > Programming' 카테고리의 다른 글
| [알고리즘] 정올 1912 번 문제 : 미로 탐색 (0) | 2023.04.26 |
|---|---|
| [C++] push_back() 과 emplace_back() 의 차이점 정리 (0) | 2023.04.24 |
| [알고리즘] 정올 1440 번 문제 : 가까운 공통 조상 찾기 (1) | 2023.04.22 |
| [알고리즘] 정올 1238 번 문제 : 미로 탈출 중간 단계 (1) | 2023.04.21 |
| [C언어] 간단한 디버깅 팁 dummy printf (0) | 2023.04.20 |