이 함수에서 인수들은 값으로 전달되므로 우선순위 큐의 복제본을 처리하는 것이다. ostream 객체에 출력을 위해 구현된 operator<<()를 갖는 타입과 동작하는 템플릿이다. 두 번째 인수를 생략하면 기본값으로 한 줄에 5개씩 값을 출력한다. queue 컨테이너 어댑터 객체와 동작하는 함수 템플릿도 이 템플릿과 비슷하게 정의할 수 있다.
priority_queue의 emplace() 함수 멤버를 사용할 수도 있다.
words.emplace("nine");
인수에 사용된 string 리터럴은 string 클래스 생성자 호출에 인수로 사용되어 컨테이너 내부에서 객체를 바로 생성하는 데 쓰인다. 다음 문장보다 emplace()가 훨씬 더 효율이 좋다.
words.push("nine");
이 코드를 사용하면 컴파일러는 push()에 쓸 인수를 생성하기 위해 string 리터럴에서 string 생성자 호출을 삽입하고, 임시로 생성한 string 객체를 push() 호출에 인수로 사용한다. 이어서 push() 함수는 string 클래스의 복제 생성자를 호출해서 컨테이너가 추가할 객체를 생성한다.