본 강의는 표준 템플릿 라이브러리(STL, Standard Template Library)를 이용해 C++ 프로그램을 쉽고, 안전하게 작성하는 방법을 소개합니다. 1부와 2부에서는 개념 이해를 도와주고, 3부와 4부에서는 수강생들의 실전 응용력을 길러줄 수 있도록 했습니다. 특히 3부 제네릭 솔루션 부분은 본 강의의 핵심을 담은 곳으로, 실제로 자주 마주치는 문제를 선정하여 분석하고, STL을 활용하는 예를 보여줍니다. 이를 토대로 하여 4부에서는 STL을 활용하여 소규모 프로젝트를 수행하는 과정을 보여줍니다.
표준 템플릿 라이브러리는 크게 컨테이너, 알고리즘, 이터레이터, 그리고 함수 개체로 구성됩니다. 컨테이너는 큐, 스택, 리스트, 트리 등의 데이터 구조를 지원하는 제네릭 데이터 구조로서 이들을 쉽게 사용할 수 있는 다양한 인터페이스를 제공합니다. 알고리즘은 복사, 전환, 병합, 정렬 등의 업무를 일련의 데이터 시퀀스 내에 주어진 구간에 대해 연산을 수행합니다. 이터레이터는 내부적으로 실제의 포인터를 관리하는 클래스이며, 포인터를 이용해 다양한 형태의 데이터 구조를 일관된 방법으로 원소에 접근할 수 있는 방법을 제공하고, 함수개체는 연산자 ()를 오버로딩한 클래스로써 컨테이너, 알고리즘 등에서 지능화된 함수 역할을 수행합니다.
[학습 목표]
• 제네릭 프로그래밍에 대한 이해를 한다.
• 표준 템플릿 라이브러리가 C++ 프로그램에서 차지하는 위상을 이해한다.
• 컨테이너, 알고리즘, 이터레이터, 함수 개체에 대해 이해한다.
• 그리고 이들을 실제 문제에 적용해 문제를 해결하는 능력을 키운다.
[수강 대상]
• C++ 언어를 배우려는 개발자
• MFC(Microsoft Foundation Class Library)만을 사용하는 비주얼 C++ 개발자
• 메모리 관리에 지친 경험 많은 개발자
• 시스템 독립적인 프로그램을 작성해야 하는 개발자