더북(TheBook)

3.3.1 큐 연산

queue의 함수 멤버 중에 일부는 stack과 비슷하지만, 상황에 따라 다르게 동작하는 함수 멤버도 있다.

front(): 큐에 있는 첫 번째 원소에 대한 참조를 반환한다. 큐가 const이면 const 참조를 반환한다. 큐가 비어 있을 때 반환되는 값은 정의되어 있지 않다.

back(): 큐에 있는 마지막 원소에 대한 참조를 반환한다. 큐가 const이면 const 참조를 반환한다. 큐가 비어 있을 때 반환되는 값은 정의되어 있지 않다.

push(const T& obj): obj의 복제본을 큐의 끝에 추가한다. 이 작업은 기반 컨테이너의 push_back() 멤버를 호출해서 수행된다.

push(T&& obj): 큐의 끝에 obj를 이동해서 추가한다. 이 작업은 기반 컨테이너의 우측값 참조 매개변수 버전의 push_back() 멤버를 호출해서 수행된다.

pop(): 큐에서 첫 번째 원소를 삭제한다.

size(): 큐에 있는 원소의 개수를 반환한다.

empty(): 큐에 원소가 하나도 없으면, 즉 비어 있으면 true를 반환한다.

emplace(): emplace()에 전달된 인수로 T 생성자를 호출해 컨테이너 내부에 객체를 바로 생성하고 큐의 끝에 추가한다.

swap(queue<T> &other_q): 현재 큐에 있는 원소들과 인수로 전달된 원소들을 교환한다. 인수는 현재 큐와 같은 타입으로 된 원소들을 담고 있어야 한다. queue 객체에 대해 같은 일을 하는 전역 함수 템플릿 swap() 같은 특수화도 있다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.