Development./C++ 4

[C++] List container (std::list) 개념 및 사용법 정리

List container란? List conatiner는 보통 이중 연결 리스트(doubly linked list)로 구현된다. 이중 연결 리스트를 이용하면 메모리 상의 임의의 위치에 원소를 저장하더라도 참조할 수 있게 된다. 왜냐하면 어떤 원소의 위치는 이전 원소와 다음 원소의 링크를 통해 따라서 추적해나갈 수 있기 때문이다. 그로 인해 List는 아래와 같은 장점들이 있다. 임의의 위치에 원소 삽입 / 삭제가 가능하다. 서로 다른 컨테이너 사이 or 컨테이너 내부에서 원소들간의 이동이 효율적이다. 원소들을 앞에서 뒤로 or 뒤에서 앞으로 참조해 나갈 수 있다. vector, deque conatiner들과 비교했을 때, 리스트는 원소의 삽입 / 삭제 / 원소들간 이동이 효율적이다. 따라서, 정렬 알..

Development./C++ 2020.09.03

[C++] Vector container(std::vector) 개념 및 사용법 정리

Vector container란? vector container는 자동으로 메모리가 할당되는 배열으로, std::array의 고정 배열 기능을 더 안전하고 유용한 형태로 제공한다. 즉, new/delete를 사용하여 메모리를 동적으로 할당/해제 하지 않고도 런타임에 길이가 설정된 배열을 만들 수 있다. vector를 사용하기 위해서는 헤더파일을 추가해야 합니다. std::vector의 변수 선언 및 초기화 방법은 아래와 같다. #include // 비어있는 vector 생성 std::vector array1; // 1, 2, 3, 4, 5 아이템을 가지는 vector 생성 std::vector array2 = {1, 2, 3, 4, 5}; std::vector array3{1, 2, 3, 4, 5}; /..

Development./C++ 2020.08.17

[C++] array container(std::array) 개념 및 사용법 정리

Array container란? 고정 길이의 배열을 표현 하기 위한 것입니다. (std::array) c++ 11에 추가 되었으며, 이전 c++버전에서의 배열의 불편한 점을 개선한 container입니다. array container를 사용하기 위해서는, header file include가 필요합니다. #include Array container 생성자 array container 선언 부분은 아래와 같이 정의 되어 있습니다. array class array; 위 정의에 따라, typename T에는 데이터 타입, size_t N에는 인자의 개수를 전달 해야 합니다. 아래 예제를 통해 선언 및 초기화 방법을 확인 할 수 있습니다. // int형 데이터를 가지고, sise가 3인 array 선언, 초기화..

Development./C++ 2020.07.26

[C++] STL(Standard Template Library) 이란?

STL이란? STL(Standard Template Library)란 표준 C++ 라이브러리로서, 프로그래밍에 필요한 자료 구조와 알고리즘을 Template로 제공하는 라이브러리를 말한다. STL의 구성 요소 STL은 아래와 같이 4가지의 구성 요소를 제공한다. Algorithm - 정렬, 연산, 삭제, 검색 등을 지원하는 함수 템플릿 Container - 데이터를 저장하는 객체를 제공, 클래스 템플릿으로 제공한다. - Container는 크게 Sequence container, Assiociative container로 구분 된다. - Sequence container : array, vector, list, deque - Associative container : set, multiset, map, ..

Development./C++ 2020.07.26