QStaticByteArrayMatcher Class
template <size_t N> class QStaticByteArrayMatcherQStaticByteArrayMatcher 클래스는 QByteArrayMatcher 의 컴파일 타임 버전입니다... .
헤더: | #include <QStaticByteArrayMatcher> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Core) target_link_libraries(mytarget PRIVATE Qt6::Core) |
qmake: | QT += core |
- 상속된 멤버를 포함한 모든 멤버의 목록
- QStaticByteArrayMatcher는 문자열 데이터용 클래스의 일부입니다.
공용 함수
qsizetype | indexIn(const QByteArray &haystack, qsizetype from = 0) const |
qsizetype | indexIn(const char *haystack, qsizetype hlen, qsizetype from = 0) const |
QByteArray | pattern() const |
관련 비회원
QStaticByteArrayMatcher<N> | qMakeStaticByteArrayMatcher(const char (&)[N] pattern) |
상세 설명
이 클래스는 일부 바이트 배열에 대해 반복적으로 일치시키려는 바이트 시퀀스가 있거나(아마도 루프에서) 동일한 바이트 배열에서 동일한 바이트 시퀀스를 여러 번 검색하려는 경우에 유용합니다. 특히 반복적으로 일치시킬 경우 일치자 객체와 indexIn()를 사용하는 것이 일반 QByteArray 과 QByteArray::indexOf()를 일치시키는 것보다 빠릅니다.
QByteArrayMatcher 와 달리 이 클래스는 컴파일 타임에 내부 표현을 계산하므로 일회성 바이트 배열 일치를 수행하는 경우에도 이점을 얻을 수 있습니다.
qMakeStaticByteArrayMatcher()를 호출하여 검색하려는 C 문자열 리터럴을 전달하여 QStaticByteArrayMatcher를 생성합니다. 해당 함수의 반환값을 static const auto
변수에 저장하므로 N
템플릿 매개변수를 명시적으로 전달할 필요가 없습니다:
static const auto matcher = qMakeStaticByteArrayMatcher("needle");
그런 다음 QByteArrayMatcher 에서와 마찬가지로 검색하려는 QByteArray 에서 indexIn()를 호출합니다.
이 클래스는 컴파일 타임에 모든 사전 계산을 수행하도록 설계되었으므로 setPattern() 메서드를 제공하지 않습니다.
QByteArrayMatcher 및 QStringMatcher 을참조하세요 .
멤버 함수 문서
[noexcept]
qsizetype QStaticByteArrayMatcher::indexIn(const QByteArray &haystack, qsizetype from = 0) const
생성자에 설정된 바이트 배열 pattern()에 대해 바이트 위치 from (기본값 0, 즉 첫 번째 바이트부터)에서 문자열 haystack 을 검색합니다.
haystack 에서 pattern()가 일치하는 위치를 반환하거나 일치하는 항목이 없는 경우 -1을 반환합니다.
[noexcept]
qsizetype QStaticByteArrayMatcher::indexIn(const char *haystack, qsizetype hlen, qsizetype from = 0) const
생성자에 설정된 바이트 배열 pattern()에 대해 바이트 위치 from (기본값 0, 즉 첫 번째 바이트부터)에서 길이가 hlen 인 문자열 haystack 을 검색합니다.
haystack 에서 pattern()가 일치하는 위치를 반환하거나 일치하는 항목이 없는 경우 -1을 반환합니다.
QByteArray QStaticByteArrayMatcher::pattern() const
이 바이트 배열 일치기가 검색할 바이트 배열 패턴을 반환합니다.
QByteArrayMatcher::setPattern()도 참조하세요 .
관련 비회원
[constexpr noexcept]
template <size_t N> QStaticByteArrayMatcher<N> qMakeStaticByteArrayMatcher(const char (&)[N] pattern)
전달된 pattern 에서 자동으로 결정된 올바른 N
이 포함된 QStaticByteArrayMatcher 을 반환합니다.
이 함수를 최대한 활용하려면 결과를 auto
변수에 할당하세요:
static const auto matcher = qMakeStaticByteArrayMatcher("needle");
© 2025 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.