본문 바로가기

반복자2

(C++)Vector / Deque 시퀀스 컨테이너인 Vector와 Deque에 대해 차이점 위주로 알아보도록 하자. 공통점 둘은 정말 비슷한 컨테이너라 할 수 있다. 원소 추가, 삭제, 조회 , 연산 모두 같은 방식으로 호출하고 사용된다. - erase 원소를 삭제할때 erase를 호출하며 배개변수로 반복자포인터 하나가 들어갈 수도 있고 두개가 들어가서 한번에 여러 범위의 원소를 지울 수 있다. 주의 해야 할 점은 반복자 순회에서 해당 위치의 원소 삭제 후 해당 포인터가 삭제되므로 순회할때 예외적으로 처리 해줘야 한다. 아래는 해당 코드이다. int main() { vector vec; vec.push_back(1); vec.push_back(4); vec.push_back(1); vec.push_back(1); vec.push_back.. 2020. 9. 14.
(C++)STL STL(Standard Template Library)는 자료구조와 알고리즘을 템플릿으로 제공하는 라이브러리이다. STL의 구성요소 - 컨테이너 : 객체들을 저장하는 객체 - 반복자 : 컨테이너의 원소를 가리키고 STL내의 자료구조와 알고리즘을 연결시킴 - 알고리즘 : 정렬, 삭제, 연산 등을 해결하는 함수 템플릿 - 함수 객체 : 함수처럼 동작하는 객체. (less(), greater()) - 어댑터 : deque의 인터페이스를 변경해 stack으로 만든것처럼 기존의 구성요소의 인터페이스를 변경해 새로운 구성요소로 만드는것 - 할당기(Allocator) : 컨테이너의 메모리 할당 정책을 캡슐화한 클래스 컨테이너 - 시퀀스 컨테이너 : vector, deque, list처럼 원소가 삽입되는 순서에 따라 .. 2020. 9. 14.