QSetIterator Class
template <typename T> class QSetIteratorQSetIterator 클래스는 ` QSet`에 대한 Java 스타일의 const 이터레이터를 제공합니다. 더 보기...
| 헤더: | #include <QSetIterator> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Core) target_link_libraries(mytarget PRIVATE Qt6::Core) |
| qmake: | QT += core |
- 상속된 멤버를 포함한 모든 멤버 목록
- QSetIterator는 Qt의 Java 스타일 이터레이터에 속합니다.
공개 함수
| QSetIterator(const QSet<T> &set) | |
| bool | findNext(const T &value) |
| bool | hasNext() const |
| const T & | next() |
| const T & | peekNext() const |
| void | toBack() |
| void | toFront() |
| QSetIterator<T> & | operator=(const QSet<T> &set) |
상세 설명
QSet Java 스타일 이터레이터와 STL 스타일 이터레이터를 모두 지원합니다. STL 스타일 이터레이터가 더 효율적이므로 이를 우선적으로 사용해야 합니다. 템플릿 매개변수 ` T `는 세트에 저장된 항목의 유형을 지정합니다.
QSetIterator<T>를 사용하면 QSet<T>를 반복할 수 있습니다. 반복하는 동안 세트를 수정하려면 대신 QMutableSetIterator<T>를 사용하십시오.
생성자는 QSet 를 인수로 받습니다. 생성 후, 이터레이터는 세트의 맨 앞(첫 번째 항목 앞)에 위치합니다. 모든 요소를 순차적으로 반복하는 방법은 다음과 같습니다:
QSet<QString> set;
//...
QSetIterator<QString> i(set);
while (i.hasNext())
QString f = i.next();next() 함수는 세트의 다음 항목을 반환하고 이터레이터를 다음 위치로 이동시킵니다. STL 스타일의 이터레이터와 달리, Java 스타일의 이터레이터는 항목을 직접 가리키기보다는 항목들 사이를 가리킵니다. next()를 처음 호출하면 이터레이터가 첫 번째 항목과 두 번째 항목 사이의 위치로 이동하고 첫 번째 항목을 반환합니다. next()를 두 번째로 호출하면 이터레이터가 두 번째 항목과 세 번째 항목 사이의 위치로 이동하며 두 번째 항목을 반환합니다. 이후에도 같은 방식으로 진행됩니다.
특정 값이 나타나는 모든 위치를 찾으려면 루프에서 findNext()을 사용하십시오.
동일한 세트에 여러 개의 이터레이터를 사용할 수 있습니다. QSetIterator가 활성화된 상태에서 세트가 수정되더라도, QSetIterator는 수정된 사본을 무시하고 원래 세트를 계속 반복합니다.
QMutableSetIterator 및 QSet::const_iterator도 참조하십시오 .
멤버 함수 문서
QSetIterator::QSetIterator(const QSet<T> &set)
set 를 순회하기 위한 반복자를 생성합니다. 이 반복자는 집합의 맨 앞(첫 번째 항목 앞)에 위치하도록 설정됩니다.
operator=()도 참조하십시오 .
bool QSetIterator::findNext(const T &value)
현재 이터레이터 위치부터 앞으로 ‘ value ’을 검색합니다. ‘ value ’이 발견되면 ‘ true ’을 반환하고, 그렇지 않으면 ‘ false ’을 반환합니다.
호출 후, value 가 발견된 경우 이터레이터는 일치하는 항목 바로 뒤 위치로 이동하며, 그렇지 않은 경우 이터레이터는 컨테이너의 맨 뒤 위치로 이동합니다.
bool QSetIterator::hasNext() const
이테레이터 앞에 항목이 하나 이상 있는 경우, 즉 이테레이터가 컨테이너의 맨 뒤에 있지 않은 경우 true 를 반환하고, 그렇지 않은 경우 false 를 반환합니다.
next()도 참조하십시오 .
const T &QSetIterator::next()
다음 항목을 반환하고 이터레이터를 한 칸 앞으로 이동시킵니다.
컨테이너의 맨 끝에 위치한 이터레이터에서 이 함수를 호출하면 정의되지 않은 결과가 발생합니다.
hasNext() 및 peekNext()도 참조하십시오 .
const T &QSetIterator::peekNext() const
이테레이터를 이동시키지 않고 다음 항목을 반환합니다.
컨테이너의 맨 뒤에 위치한 이터레이터에서 이 함수를 호출하면 정의되지 않은 결과가 발생합니다.
void QSetIterator::toBack()
이테레이터를 컨테이너의 맨 뒤(마지막 요소 뒤)로 이동합니다.
toFront()도 참조하십시오 .
void QSetIterator::toFront()
이테레이터를 컨테이너의 맨 앞(첫 번째 항목 앞)으로 이동합니다.
QSetIterator<T> &QSetIterator::operator=(const QSet<T> &set)
이테레이터가 ` set`에서 작동하도록 합니다. 이테레이터는 집합의 맨 앞(첫 번째 항목 앞)에 위치하도록 설정됩니다.
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.