C++ STL 기초 사용법

C++ STL(Standard Template Library)은 표준화된 알고리즘, 컨테이너, 반복자(Iterator)를 제공하는 강력한 라이브러리다.

템플릿 기반으로 설계되어 다양한 데이터 타입을 효율적으로 처리할 수 있다.

STL의 3대 구성 요소

  • 컨테이너 (Container): 데이터를 저장하는 객체 (예: vector, list, map, set)
  • 반복자 (Iterator): 컨테이너의 요소에 접근하기 위한 포인터와 유사한 객체
  • 알고리즘 (Algorithm): 데이터를 처리하는 함수 (예: sort, find, search)

기초 활용 예제

vector 컨테이너에 데이터를 저장하고, algorithmsort를 사용하여 정렬하는 예제다.

#include <iostream>
#include <vector>
#include <algorithm>

int main() {
    // 1. 컨테이너 생성 및 데이터 삽입
    std::vector<int> vec = {5, 2, 9, 1, 5, 6};

    // 2. 알고리즘 적용 (정렬)
    // vec.begin()과 vec.end()는 반복자를 반환함
    std::sort(vec.begin(), vec.end());

    // 3. 반복자를 이용한 데이터 출력
    std::cout << "Sorted vector: ";
    for (auto it = vec.begin(); it != vec.end(); ++it) {
        std::cout << *it << " ";
    }
    std::cout << std::endl;

    // 4. 특정 값 찾기
    auto it = std::find(vec.begin(), vec.end(), 9);
    if (it != vec.end()) {
        std::cout << "Found: " << *it << std::endl;
    }

    return 0;
}

STL 사용의 이점

  • 재사용성: 검증된 자료구조와 알고리즘을 즉시 사용할 수 있어 개발 시간을 단축한다.
  • 성능: 고도로 최적화된 코드로 작성되어 있어 직접 구현한 코드보다 성능이 우수한 경우가 많다.
  • 표준화: 공통된 인터페이스를 사용하여 코드의 가독성과 유지보수성을 높인다.

P.S

STL은 현대 C++ 개발의 핵심이다.

각 컨테이너의 성능 특성을 파악하고 적절한 알고리즘을 결합하여 사용하는 능력이 중요하는 것 같다.

Author avatar

웨이호프

WordPress creator and blogger.

View all posts