Auf dieser Seite

Qt::Literals::StringLiterals Namespace

namespace Qt::Literals::StringLiterals

Der StringLiterals-Namensraum deklariert Literaloperatoren für Qt-Stringtypen. 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-Namensraum Qt::Literals::StringLiterals deklariert Literaloperatoren für Qt-Stringtypen. Da sowohl der Literals als auch der StringLiterals Namespace als inline deklariert sind, kann auf die Symbole aus diesem Namespace zugegriffen werden, indem Sie eines der folgenden Symbole in Ihren Code einfügen:

// Makes visible only the literal operators declared in StringLiterals
using namespace Qt::StringLiterals;
// same, but needlessly verbose:
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;

Von letzterem wird abgeraten, da es Ihnen nicht erlaubt, die gewünschten literalen Operatoren auszuwählen, falls Qt innerhalb von Qt::Literals widersprüchliche Operatoren in verschiedenen Namespaces hinzufügt.

Funktions-Dokumentation

[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::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::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 ein QByteArray aus den ersten size Zeichen des Zeichenkettenliteral str 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::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::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.