StringLiterals Namespace

Qt::Literals::StringLiterals

Der 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.