본문 바로가기
반응형

전체 글109

[c++] STL Iterator의 종류 1. 입력 반복자(Input) Read 및 접근 가능 Write 불가능 산술연산 ++ 만 가능 비교연산 ==, != 만 가능 2. 출력 반복자(Output) Read 및 접근 불가능 Write 가능 산술연산 ++ 만 가능 비교연산 불가능 3. 순방향 반복자(Forward) Read, Write 모두 가능 산술연산 ++, -- 가능 비교연산 ==, != 만 가능 list, set, map은 이 반복자를 지원한다. 양방향 반복자를 지원하지 않는 컨테이너는 reverse()함수를 사용할 수 없다. 4. 임의접근 반복자(Random Access) Read, Write 모두 가능 산술연산 ++, --, +, -, +=, -= 가능 비교연산 ==, !=, , = 가능 첨자 연산자 사용 가능 [ ] Vector::i.. 2021. 8. 18.
[c++] STL Container의 종류 1. 시퀀스 컨테이너(Sequence Container) 일반적인 자료구조와 유사한 형태이다. 자료를 입력한 순서대로 저장한다. 검색 및 삽입/삭제의 속도가 느리다. 많지 않은 양의 자료 또는 검색속도가 중요하지 않은 경우 사용한다. vector, list, deque 등 2. 연관 컨네이너(Associative Container) 노드기반 이진 트리 구조로 이루어져있다. 일정 규칙에 따라 자료를 정렬하여 저장한다. 검색 및 삽입/삭제 속도가 빠르다. 많은양의 자료 또는 빠른 검색이 중요한 경우 사용한다. set, map, multiset, multimap 등 3. 어댑터 컨테이너(Container Adaptor) 시퀀스 컨테이너를 변형하여 사용한다. stack, queue 등 2021. 8. 18.
[c++] STL 이란? STL 이란? Standard Template library의 약자이다. 프로그램에 필요한 자료구조와 알고리즘을 제공하는 라이브러리이다. STL의 구성요소 1. Container 객체를 저장하는 자료구조 2. Iterator 포인터와 비슷한 개념으로 컨테이너의 원소를 가리킨다. 각 타입에 ::iterator 또는 ::const_iterator 를 붙여 사용할 수 있다. const_iterator는 반복자가 가리키는 원소의 값을 변경하지 못한다. 3. Algorithm 컨테이너의 원소에 대해 작업할 수 있는 여러가지 함수의 정의이다. 2021. 8. 18.
[c++] 스택(Stack)과 힙(Heap) 스택(Stack)과 힙(Heap)의 메모리적 특징과 차이점을 알아보자. 먼저 메모리구조에 대해 알아보자. 프로그램이 실행되기 위해서는 먼저 프로그램이 메모리에 로드되어야 한다. 또한, 프로그램에서 사용할 변수를 저장할 메모리가 필요하다. 대표적인 메모리 공간 4가지에 대해서 알아보자. 1. Code 영역 실행할 프로그램의 코드를 저장하는 영역이다. cpu는 코드영역에 저장된 명령어를 하나씩 처리한다. 2. Data 영역 프로그램의 전역 변수와 정적변수를 저장하는 영역이다. 프로그램의 시작과 함께 할당되고 프로그램 종료와 함께 소멸된다. 3. Stack 영역(값 형식) 함수의 호출과 관련된 지역변수와 매개변수를 저장하는 영역이다. 함수의 호출과 함께 할당되고 함수의 완료와 함께 소멸된다. 스택영역에 저장되.. 2021. 8. 16.
반응형