프로그래밍 공부

STL 4

카테고리 설명
  • STL STL 은 C++ 프로그래밍 언어의 표준 라이브러리인 "Standard Template Lirary"의 약자이다. STL은 제네릭 프로그래밍 개념을 기반으로 하여, 유용한 컨테이너 클래스, 알고리즘 함수 및 객체를 재공하여 C++개발자 들이 보다 쉽고 효율적으로 작업할 수 있도록 해준다. STL은 주 네가지 구성요소로 이루어져있다. 컨테이너 (Containers) 알고리즘 (Iterators) 함수객체 (Algorithms) 반복자 (Function Objects) 컨테이너 (Containers) STL의 컨테이너는 데이터를 저장하는 클래스를 말한다. 다양한 형태의 컨테이너를 제공한다. SequnceContatiner 선형 컨테이너 AssociativeContainer 연관 컨테이너 Adapter..

  • STL에서의 AdapterContainer는 기존의 컨테이너를 감싸 다른 인터페이스를 제공하거나 기능을 확장하는 역활을 한다. 일반적으로 어댑터 컨테이너는 컨테이너를 수정하지 않고 사용자에게 다양한 기능을 제공하기 위해 사용한다. 다른 STL의 table과 다르게 선형으로 데이터를 저장하게 된다. 종류는 다음과 같다. Stack Queue Stack Stack 은 백터를 변형해서 stack형태로 만든 컨테이너 이다. 데이터를 선형으로 저장하게 되며, LIFO [후입선출] 방식을 사용한다. #include #include int main() { cout

  • STL에 존재하는 컨테이너중 데이터를 선형적으로 관리하는것 이 아닌, 트리구조로 관리하는 컨테이너를 이야기 한다. 종류는 다음과 같다. Set / MultiSet Map / MultiMap AssociativeContainer는 데이터를 트리구조로 저장하면서, Key / Value 로 관리하게 되는데, Key를 트리구조 로 정리한 뒤 해당되는 Key에 접속하면 Key에 저장된 value의 주소로 타고 들어가는 방식이 된다. Set 저장하는 데이터 값 자체를 키로 사용하는 컨테이너 이다. 그렇기 때문에, 탐색 시 데이터의 존재 유무만 확인하며 탐색하게 된다. 또한, Key가 따로 없기 때문에 데이터의 중복을 허용하지 않는다. 다음은 코드 예시이다. #include #include int main() { c..

  • STL의 컨테이너 중 데이터를 배열처럼 선형 으로 저장하는 컨테이너를 이야기 한다. 종류는 다음과 같다. Vector Deque List Vector 데이터 저장방식 중 선형저장방식을 따르는 컨테이너이다. 원소의 저장공간이 연속적으로 이어져있다는 특징이 있다. 사용하는 경우 만드려는 컨테이너의 크기를 프로그래머가 예측이 가능할 때 컨테이너의 데이터에 대한 삽입 삭제가 별로 없을 때 연속적인 데이터 처리가 필요할 때 위와 같은 경우에 사용이 추천된다. 코드예시 #include #include int main() { cout