QStaticLatin1StringMatcher Class
template <Qt::CaseSensitivity CS, size_t N> class QStaticLatin1StringMatcherQStaticLatin1StringMatcher 클래스는 QLatin1StringMatcher 의 컴파일 시점 버전입니다. 더 보기...
| 헤더: | #include <QStaticLatin1StringMatcher> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Core) target_link_libraries(mytarget PRIVATE Qt6::Core) |
| qmake: | QT += core |
| 다음부터: | Qt 6.7부터 |
- 상속된 멤버를 포함한 모든 멤버 목록
- QStaticLatin1StringMatcher는 문자열 데이터용 클래스의 일부입니다.
공개 함수
| qsizetype | indexIn(QLatin1StringView haystack, qsizetype from = 0) const |
| qsizetype | indexIn(QStringView haystack, qsizetype from = 0) const |
관련 비멤버
(since 6.7) auto | qMakeStaticCaseInsensitiveLatin1StringMatcher(const char (&patternToMatch)[N]) |
(since 6.7) auto | qMakeStaticCaseSensitiveLatin1StringMatcher(const char (&patternToMatch)[N]) |
상세 설명
QStaticLatin1StringMatcher<CS, N>은 템플릿 클래스로, 여기서 CS 은 매칭에 사용할 문자열 리터럴( Qt::CaseSensitivity )이고, N 은 검색할 패턴의 길이(문자열 리터럴의 널 종결자 포함)입니다.
이 클래스는 코드에서 컴파일 시점에 알려진 부분 문자열을 Latin-1 문자열 내에서 효율적으로 검색해야 할 때 유용합니다. 이는 예를 들어 파서에서 흔히 볼 수 있는 경우입니다. 매처 객체의 ` indexIn()`를 사용하는 것은 검색 대상 문자열의 `indexOf()` 멤버 메서드를 사용하는 것보다 빠릅니다. 특히, 찾을 문자열을 반복적으로 검색해야 하거나, 찾을 부분 문자열의 접두사와 일치하는 항목이 많이 포함될 수 있는 큰 Latin-1 문자열 내에서 검색할 때 더욱 그렇습니다.
QLatin1StringMatcher 와 달리, 이 클래스는 컴파일 시점에 내부 표현을 계산하므로, 일회성 Latin-1 문자열 일치 작업을 수행하는 경우에도 유용할 수 있습니다.
qMakeStaticCaseSensitiveLatin1StringMatcher() 또는 qMakeStaticCaseInsensitiveLatin1StringMatcher()를 호출하여 QStaticLatin1StringMatcher를 생성하고, 검색할 Latin-1 문자열을 C 문자열 리터럴로 전달합니다. 해당 함수의 반환 값을 static constexpr auto 변수에 저장하면, N 템플릿 매개변수를 명시적으로 전달할 필요가 없습니다.
그런 다음 QLatin1StringMatcher 와 마찬가지로, 검색을 수행할 QLatin1StringView 에 대해 indexIn()를 호출합니다.
이 클래스는 컴파일 시점에 모든 사전 계산을 수행하도록 설계되었기 때문에 setPattern()이나 setCaseSensitivity() 메서드를 제공하지 않습니다.
참고: INTEGRITY 운영 체제는 현재 지원되지 않습니다.
QLatin1StringMatcher, QStaticByteArrayMatcher 및 QByteArrayMatcher도 참조하십시오 .
멤버 함수 문서
[constexpr noexcept] qsizetype QStaticLatin1StringMatcher::indexIn(QLatin1StringView haystack, qsizetype from = 0) const
[constexpr noexcept] qsizetype QStaticLatin1StringMatcher::indexIn(QStringView haystack, qsizetype from = 0) const
QLatin1StringView haystack 에서 바이트 위치 from (기본값 0, 즉 첫 번째 바이트부터)부터 시작하여, 생성자에서 설정된 QLatin1StringView pattern()을 검색합니다. 생성자에서 설정된 대소문자 구분 방식을 사용합니다.
haystack 에서 pattern()과 일치한 위치를 반환하며, 일치하는 항목이 없으면 -1을 반환합니다.
관련 비멤버 함수
[constexpr noexcept, since 6.7] template <size_t N> auto qMakeStaticCaseInsensitiveLatin1StringMatcher(const char (&patternToMatch)[N])
전달된 patternToMatch 에서 대소문자 구분을 하지 않고 올바른 N 를 자동으로 결정하여 QStaticLatin1StringMatcher 를 반환합니다.
이 함수의 기능을 최대한 활용하려면 결과를 static constexpr auto 변수에 할당하십시오:
static constexpr auto matcher = qMakeStaticCaseInsensitiveLatin1StringMatcher("needle");이 함수는 Qt 6.7에서 도입되었습니다.
[constexpr noexcept, since 6.7] template <size_t N> auto qMakeStaticCaseSensitiveLatin1StringMatcher(const char (&patternToMatch)[N])
전달된 patternToMatch 에서 자동으로 결정된 올바른 N 를 포함하고, 대소문자를 구분하는 QStaticLatin1StringMatcher 를 반환합니다.
이 함수의 기능을 최대한 활용하려면 결과를 static constexpr auto 변수에 할당하십시오:
static constexpr auto matcher = qMakeStaticCaseSensitiveLatin1StringMatcher("needle");이 함수는 Qt 6.7에서 도입되었습니다.
© 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.