StringLiterals Namespace
Qt::Literals::StringLiteralsDer StringLiterals Namespace deklariert String-Literal-Operatoren für Qt-Typen. Mehr...
Kopfzeile: | #include <QString> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Core) target_link_libraries(mytarget PRIVATE Qt6::Core) |
qmake: | QT += core |
Funktionen
(since 6.4) QLatin1Char | operator""_L1(char ch) |
(since 6.4) QLatin1StringView | operator""_L1(const char *str, size_t size) |
(since 6.4) QByteArray | operator""_ba(const char *str, size_t size) |
(since 6.4) QString | operator""_s(const char16_t *str, size_t size) |
Detaillierte Beschreibung
Der inline Qt::Literals::StringLiterals Namespace deklariert String-Literal-Operatoren für Qt-Typen. Da sowohl der Literals
als auch der StringLiterals
Namensraum als inline deklariert sind, kann auf die Symbole aus diesem Namensraum zugegriffen werden, indem man eine der folgenden Funktionen in seinen Code einfügt:
// Makes visible only the literal operators declared in StringLiterals using namespace Qt::Literals::StringLiterals; // Makes visible literal operators declared in all inline namespaces // inside Literals using namespace Qt::Literals; // Makes visible all symbols (including all literal operators) declared // in the Qt namespace using namespace Qt;
Funktionsdokumentation
[constexpr noexcept, since 6.4]
QLatin1Char operator""_L1(char ch)
Literaler Operator, der aus ch ein QLatin1Char erzeugt.
Der folgende Code erzeugt ein QLatin1Char:
using namespace Qt::Literals::StringLiterals; auto ch = 'a'_L1;
Diese Funktion wurde in Qt 6.4 eingeführt.
Siehe auch Qt::Literals::StringLiterals.
[constexpr noexcept, since 6.4]
QLatin1StringView operator""_L1(const char *str, size_t size)
Literal-Operator, der aus den ersten size Zeichen der Zeichenkette literal str ein QLatin1StringView erzeugt.
Der folgende Code erzeugt ein QLatin1StringView:
using namespace Qt::Literals::StringLiterals; auto str = "hello"_L1;
Diese Funktion wurde in Qt 6.4 eingeführt.
Siehe auch Qt::Literals::StringLiterals.
[noexcept, since 6.4]
QByteArray operator""_ba(const char *str, size_t size)
Literal-Operator, der aus den ersten size Zeichen im Zeichenfolgenliteral str ein QByteArray erzeugt.
Die QByteArray wird zur Kompilierzeit erstellt, und die erzeugten Zeichenkettendaten werden im schreibgeschützten Segment der kompilierten Objektdatei gespeichert. Doppelte Literale können sich denselben Nur-Lese-Speicher teilen. Diese Funktionalität ist austauschbar mit QByteArrayLiteral, spart aber Tipparbeit, wenn viele String-Literale im Code vorhanden sind.
Der folgende Code erzeugt ein QByteArray:
using namespace Qt::Literals::StringLiterals; auto str = "hello"_ba;
Diese Funktion wurde in Qt 6.4 eingeführt.
Siehe auch Qt::Literals::StringLiterals.
[noexcept, since 6.4]
QString operator""_s(const char16_t *str, size_t size)
Literal-Operator, der ein QString aus den ersten size Zeichen im char16_t String-Literal str erzeugt.
Die QString wird zur Kompilierungszeit erstellt, und die erzeugten Zeichenkettendaten werden im schreibgeschützten Segment der kompilierten Objektdatei gespeichert. Doppelte Literale können sich denselben Nur-Lese-Speicher teilen. Diese Funktionalität ist austauschbar mit QStringLiteral, spart aber Tipparbeit, wenn viele String-Literale im Code vorhanden sind.
Der folgende Code erzeugt ein QString:
using namespace Qt::Literals::StringLiterals; auto str = u"hello"_s;
Diese Funktion wurde in Qt 6.4 eingeführt.
Siehe auch Qt::Literals::StringLiterals.
© 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.