CPP

    [C++] 알고리즘 (#include <algorithm>): 있는 거 가져다 쓰자.

    #include 컨테이너에 반복자들을 가지고 이런 저런 작업을 쉽게 수행할 수 있도록 도와주는 라이브러리. 보통 다음의 두 형태를 가집니다. 반복자의 시작점과 끝점 바로 뒤를 받는 경우 반복자의 시작점과 끝점 바로 뒤 + 서술자(Predicate): 특정한 조건을 서술 template void do_something(Iter begin, Iter end); template void do_something(Iter begin, Iter end, Pred pred) 정렬 (sort, stable_sort, partial_sort) sort : 일반적인 정렬 함수이며, hybrid of QuickSort를 이용하여 구현되었습니다. std::sort(vec.begin(), vec.end(), greater())..

    [C++] 템플릿 (Template) (feat. Template Meta-programming)

    템플릿 (template) #include template void print(T arg) { std::cout

    [C++] 객체지향 프로그래밍: 추상화, 캡슐화, 상속성, 다형성, 동적바인딩...

    절차 지향 VS 객체 지향 절차 지향 절차 지향 모델링은 프로그램을 기능중심으로 바라보는 방식으로 "무엇을 어떤 절차로 할 것인가?"가 핵심이 된다. 즉, 어떤 기능을 어떤 순서로 처리하는가에 초점을 맞춘다. 객체 지향 객체 지향 모델링은 기능이 아닌 객체가 중심이 되며 "누가 어떤 일을 할 것인가?"가 핵심이 된다. 즉, 객체를 도출하고 각각의 역할을 정의해 나가는 것에 초점을 맞춘다. 절차 지향 VS 객체 지향 대형 프로그래밍의 경우, 많은 기능을 수반하기 때문에 절차 지향보다는 객체 지향이 적합 소형 프로그래밍의 경우, 작은 기능을 수반하기 때문에 객체 지향보다는 절차 지향이 적합 주의!: C++이 객체 지향 언어라고 해서 OOP가 목적이 되면 안된다. C++를 쓰기 위해 읽기 편하고, 이해하기 편..

    [C++] STL 컨테이너: 자료구조를 이해하고 사용하자! (C++ 표준 라이브러리)

    💡 본 문서는 'std 컨테이너: 자료구조를 이해하고 사용하자!'에 대해 정리해놓은 글입니다. C++ 표준 라이브러리에 구현되어 있는 컨테이너에 대해 정리하였으니 참고하시기 바랍니다. 1. 컨테이너 (Container) Sequence Containers sequential containers are responsible to store data in sequence. It consists of arrays, vector, deque, forward list and list. Associative Containers Associative containers store associated/related data as key-value pairs. It consists of set, map, multi s..