Home C++ STL(Standard Template Library)에 대해 배워보자
Post

C++ STL(Standard Template Library)에 대해 배워보자

해당 글은 공동환 저자 뇌를 자극하는 C++ STL 도서 기반으로 작성되었습니다.

들어가기에 앞서..

C++ 공부하면서 대부분의 책들은 STL에 대해 그냥 이런게 있다~ 하고 넘어가는 경우가 많습니다.
저 또한 2가지정도의 책을 공부하면서 느꼈구요. 하지만, 알고리즘을 공부하려 하면서 STL에 대해 공부할 필요성이 생겨 공부하게 되었습니다.

다만, 인터넷에 올라오는 자료로는 조금 부족한듯 싶어 책을 구매하여 공부를 진행했는데, 처음 배우는데 굉장히 큰 도움이 된 것 같습니다. 이 글은 뇌를 자극하는 C++ STL을 바탕으로 작성할 예정입니다.

물론 공부하면서 설명이 부족했다고 느꼈던 부분이나, 다른 도움될만한 내용이 있다면 조금 더 가미해서 작성하겠습니다.

Github 코드

제가 공부하면서 연습하고 작성했던 코드들입니다. 책에 있는 웬만한 코드는 다 있는것 같습니다.
글 작성하면서 대부분 코드를 첨부하겠지만, 따로 코드가 필요하실 분들이 계실까봐 남깁니다.

추가로 긴 글을 일일히 읽기 어려우신 분들은 깃허브 코드만 보시는걸 추천합니다.
물론 파일 하나하나 설명되어 있는 md 파일은 없지만(이건 곧 추가 하도록 하겠습니다 ㅎㅎ)
코드에 있는 주석에 설명에 관한 요약된 내용이 있습니다.

해당 코드는 다음과 같은 환경에서 실행되었습니다.
개발 환경 : M2 Macbook Pro 14, Sonoma 14.0
IDE : CLion
Language Standard Version : C++11, C++17

STL이란?

STL은 표준 C++ 라이브러리의 일부분으로 Standard Template Library의 약자이다.

STL은 프로그램에 필요한 자료구조와 알고리즘을 템플릿으로 제공하는 라이브러리이다.

또한, 자료구조와 알고리즘은 서로 반복자라는 구성 요소를 통해 연결한다.

목차

Chap01 : 연산자 오버로딩

  1. 연산자 오버로딩이란

  2. 연산자 오버로딩 정의 및 사용하기

  3. 단항 연산자 오버로딩

  4. 이항 연산자 오버로딩

  5. 전역 함수를 이용한 연산자 오버로딩

  6. STL에 필요한 주요 연산자 오버로딩

  7. 타입 변환 연산자 오버로딩

Chap02 : 함수 포인터

  1. 함수 포인터란

  2. 함수포인터의 종류

  3. 클라이언트 코드와 서버코드

Chap03 : 함수 객체

  1. 함수 객체란

  2. 함수 객체 구현

Chap04 : 템플릿

  1. 함수 템플릿

  2. 클래스 템플릿

Chap05 : STL 소개

  1. STL이란

  2. STL을 한눈에

Chap06 : 시퀀스 컨테이너

  1. vector 컨테이너

  2. deque 컨테이너

  3. list 컨테이너

Chap07 : 연관 컨테이너

  1. set 컨테이너

  2. multiset 컨테이너

  3. map 컨테이너

  4. multimap 컨테이너

Chap08 : 알고리즘

  1. 원소를 수정하지 않는 알고리즘

  2. 원소를 수정하는 알고리즘

  3. 제거 알고리즘

  4. 변경 알고리즘

  5. 정렬 알고리즘

  6. 정렬된 범위 알고리즘

  7. 수치 알고리즘

Chap09 : STL 함수 객체

  1. 함수 객체의 종류

  2. 산술 연산 함수 객체

  3. 비교 조건 연산자

  4. 논리 조건 연산자

  5. 바인더

  6. 부정자

  7. 함수 포인터 어댑터

  8. 멤버 함수 포인터 어댑터

Chap10 : 반복자

  1. 반복자의 종류

  2. X::iterator와 X::const_iterator

  3. X::reverse_iterator와 X::const_reverse_iterator

  4. 삽입 반복자

  5. 입/출력 스트림 반복자

  6. 반복자 특성과 보조함수

Chap11 : 컨테이너 어댑터

  1. stack 컨테이너

  2. queue 컨테이너

  3. priority_queue 컨테이너

Chap12 : String 컨테이너

  1. string의 주요 인터페이스와 특징

  2. string의 주요 멤버 함수 정리

참고하면 좋은 내용들

  1. 상수형(const) 객체, 메서드
This post is licensed under CC BY 4.0 by the author.

블로그 시작!!

C++ STL(Standard Template Library)에 대해 배워보자 - Chap01 : 연산자 오버로딩