The QStaticByteArrayMatcher class is a compile-time version of QByteArrayMatcher 更多...
| 头: | #include <QStaticByteArrayMatcher> | 
| qmake: | QT += core | 
| Since: | Qt 5.9 | 
The QStaticByteArrayMatcher class is a compile-time version of QByteArrayMatcher
This class is useful when you have a sequence of bytes that you want to repeatedly match against some byte arrays (perhaps in a loop), or when you want to search for the same sequence of bytes multiple times in the same byte array. Using a matcher object and indexIn() is faster than matching a plain QByteArray with QByteArray::indexOf (), in particular if repeated matching takes place.
						不像
						
							QByteArrayMatcher
						
						, this class calculates the internal representation at
						
							compile-time
						
						, if your compiler supports C++14-level
						
constexpr
						
						(C++11 is not sufficient), so it can even benefit if you are doing one-off byte array matches.
					
						创建
						
							QStaticByteArrayMatcher
						
						by calling qMakeStaticByteArrayMatcher(), passing it the C string literal you want to search for. Store the return value of that function in a
						
static const auto
						
						variable, so you don't need to pass the
						
N
						
						template parameter explicitly:
					
static const auto matcher = qMakeStaticByteArrayMatcher("needle");
Then call indexIn() on the QByteArray in which you want to search, just like with QByteArrayMatcher .
Since this class is designed to do all the up-front calculations at compile-time, it does not offer a setPattern() method.
另请参阅 QByteArrayMatcher and QStringMatcher .