std::queue에 대한 반복
C에서 std::queue는 FIFO(선입선출) 컨테이너입니다. . 기본적으로 std::deque를 기본 데이터 구조로 사용합니다. 이는 큐에 넣거나 빼는 작업에 효율적이지만 큐의 내용을 반복할 때 문제가 됩니다.
문서에는 "특정 큐 클래스에 대해 컨테이너 클래스가 지정되지 않았습니다."라고 명시되어 있습니다. 이는 기본 deque에 직접 액세스하여 반복할 수 없음을 의미합니다. 그러나 이 제한 사항을 해결할 수 있는 몇 가지 방법이 있습니다.
범위 기반 For 루프 사용
C 11을 지원하는 경우 범위를 사용할 수 있습니다. -큐의 요소를 반복하는 for 루프 기반. 이 접근 방식은 std::queue가 요소를 순회하는 데 사용할 수 있는 반복자를 제공한다는 사실을 활용합니다.
<code class="cpp">std::queue<int> queue; // Populate the queue... for (const int& element : queue) { std::cout << element << " "; }</code>
표준 반복기 사용
C 11을 지원하지 않더라도 표준 반복자를 사용하여 대기열을 반복할 수 있습니다. 다음 코드는 이를 보여줍니다.
<code class="cpp">std::queue<int> queue; // Populate the queue... std::queue<int>::iterator it; for (it = queue.begin(); it != queue.end(); ++it) { std::cout << *it << " "; }</code>
참고:
기본 데크에 직접 액세스할 수는 있지만 정의되지 않은 오류가 발생할 수 있으므로 권장되지 않습니다. 행동 및 데이터 손상. 대신 위에 설명된 방법 중 하나를 사용하여 대기열의 내용을 반복하세요.
위 내용은 C에서 `std::queue`를 어떻게 반복할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!