출저 : 프로그래밍 입문 사이트 ~bituse~ | http://bituse.info/cp/9


이번에는 STL은 무엇인가에 대해서 설명하겠습니다. STL은 C++ 표준에 정의된 표준 라이브러리 중 하나입니다. 라이브러리는 함수가 모여 만들어진 것이라고 생각해주시면 되겠습니다.

그럼 이 STL에는 어떤 것들이 있을까라고 하면, 리스트를 쉽게 만들 수 있습니다. 리스트는 메모리를 동적 확보하고, 각각 관련성을 갖게 하고, 연쇄 구조처럼 하나의 리스트를 만드는 느낌의 구조입니다.

예를 들면, A~C는 메모리를 확보했다면, A→B→C처럼 A, 다음은 B, 다음은 C 식으로 관련을 가지고 하나로 연결해주는 이미지입니다. C언언어만 한다고 생각하면 되는데, 동적 확보나 메모리의 해방 등의 수고가 걸려버립니다. 이 근처의 처리를 간략화 되어 간편하게 리스트 구조를 만들도록 한 라이브러리가 STL이라고 하는 것입니다. 그 라이브러리를 사용하려면 몇 가지 템플릿이라고 불리는 것을 사용합니다. 템플릿은 클래스와 비슷한 의미인데, 일반적인 학급을 그저 단순히 생각하면 처음부터 학급 안의 변수과 함수의 형태를 미리 지정해 내야죠? 그럼 이 템플릿을 사용하면 임의의 형식을 지정하여 인스턴스를 생성할 수 있습니다. 바로 형태만 있고 내용물을 여러가지 형태의 임의로 변경할 수 있는 템플릿이란 말 그대로요.


그 STL템플릿에 대해서는 자주 쓰이는 것이 다음과 같은 것들이 있습니다.


  • vector
  • list
  • deque
  • stack
  • queue
  • map
  • set

이런 것 들입니다. 이들은 데이터를 관리하는 템플릿이기 때문에 컨테이너라고도 불립니다.

다음에는 상기의 템플릿을 차례대로 해설하겠습니다.


'공부 > C/C++' 카테고리의 다른 글

(C++) 컨테이너【list】  (0) 2014.03.29
(C++) 컨테이너 【vector】  (0) 2014.03.27
(C++) string 형식  (0) 2014.03.27
(C++) C++의 문자열 출력에 대해서  (0) 2014.03.26
(C++) 가상 함수  (0) 2014.03.26