-
-
Notifications
You must be signed in to change notification settings - Fork 1
Home
Iconer edited this page Nov 12, 2020
·
27 revisions
C++은 수많은 라이브러리들의 집합으로 이루어진 언어입니다. C++의 공식 라이브러리를 흔히 이르는 단어는 STL, 표준 템플릿 라이브러리였습니다. 템플릿 라이브러리는 다형성, 일반화 프로그래밍을 지원하는 라이브러리라는 뜻으로, 당시에는 C++ 표준 라이브러리 그 자체를 이르는 단어였습니다. 하지만 C++ 초기부터 쓰인 용어임에도 불구하고 STL이란 단어는 원래 표준 라이브러리 명세에 직접 언급되지 않았습니다. 그리고 시간이 흘러 C++ 언어가 커지고 단순히 템플릿을 이용한 일반화 프로그래밍을 쓰는 라이브러리라고 지칭하기에는 의미가 달라져버렸습니다. 오늘날에는 대체로 STL의 의미를 저장고, 반복자, 알고리즘, 몇몇 유틸리티들의 라이브러리를 한데 이르는 용어입니다.
- Container. 저장고는 일정한 규격과 접근 방법을 두고 설계된 클래스들입니다. 이름 그대로 안에 정보를 저장할 수 있으며 이를 쉽게 가능케하는 API들이 존재합니다.
- Iterator. 반복자는 저장고를 참조하고, 순회하고, 수정하는 방법을 일반화시킨 클래스입니다. C++에선 연산자 오버로딩을 통해 포인터, 배열과 같이 접근할 수 있었지만 게임메이커에서는 언어 기능의 부재로 멤버 함수를 이용합니다.
- Algorithm. 알고리즘은 반복자를 기반으로 저장고의 요소들을 조작하는 함수들을 이르는 말입니다. 매우 범용적으로 작성돼있기 때문에 어떤 형태의 저장고라도 일정한 접근 API만 갖춰지면 문제가 없습니다.
이렇게 다양한 도구들을 이제 게임메이커에서도 사용하실 수 있습니다! 이 라이브러리들은 서로 의존적인 관계를 갖고 있으며 호환성이 매우 좋습니다. 여러분은 이 도구를 사용하여 효율적인 자료 관리를 하실 수 있습니다. 또한 몇몇 논리식을 처리할 때도 큰 도움이 될겁니다. 각 요소에 대한 더 자세한 설명은 항목 페이지를 확인하세요.
GMSTL Wiki