Auf dieser Seite

Qt::Literals::StringLiterals Namespace

namespace Qt::Literals::StringLiterals

Der Namespace „StringLiterals“ definiert Literaloperatoren für Qt-Zeichenkettentypen. Mehr dazu...

Header: #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)

Ausführliche Beschreibung

Der Inline-Namespace „ Qt::Literals::StringLiterals “ deklariert Literaloperatoren für Qt-Zeichenkettentypen. Da sowohl der Namespace „ Literals “ als auch der Namespace „ StringLiterals “ als „inline“ deklariert sind, können die Symbole aus diesem Namespace durch Hinzufügen einer der folgenden Anweisungen zu Ihrem Code aufgerufen werden:

// 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;

Letzteres wird nicht empfohlen, da Sie so nicht auswählen können, welche Literaloperatoren Sie verwenden möchten, falls Qt in verschiedenen Namespaces innerhalb von „ Qt::Literals “ miteinander in Konflikt stehende Operatoren hinzufügt.

Funktionsdokumentation

[constexpr noexcept, since 6.4] QLatin1Char operator""_L1(char ch)

Literaloperator, der aus „ ch “ ein „ QLatin1Char “ erzeugt.

Der folgende Code erstellt 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)

Literaloperator, der aus den ersten size Zeichen des Zeichenfolgenliterals str ein QLatin1StringView erstellt.

Der folgende Code erstellt 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)

Literaloperator, der aus den ersten size Zeichen des Zeichenfolgenliterals str ein „ QByteArray “ erstellt.

Der ` QByteArray ` wird zur Kompilierungszeit erstellt, und die generierten Zeichenfolgendaten werden im schreibgeschützten Segment der kompilierten Objektdatei gespeichert. Doppelte Literale können denselben schreibgeschützten Speicherbereich gemeinsam nutzen. Diese Funktionalität ist austauschbar mit ` QByteArrayLiteral`, spart jedoch Tippaufwand, wenn viele Zeichenfolgenliterale im Code vorhanden sind.

Der folgende Code erstellt eine ` 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)

Literaloperator, der aus den ersten size Zeichen des char16_t-Zeichenfolgenliterals str ein „ QString “ erstellt.

Der ` QString ` wird zur Kompilierungszeit erstellt, und die generierten Zeichenfolgendaten werden im schreibgeschützten Segment der kompilierten Objektdatei gespeichert. Doppelte Literale können denselben schreibgeschützten Speicherbereich gemeinsam nutzen. Diese Funktionalität ist mit ` QStringLiteral` austauschbar, spart jedoch Tipparbeit, wenn viele Zeichenfolgenliterale im Code vorhanden sind.

Der folgende Code erstellt eine ` QString`:

using namespace Qt::StringLiterals;

auto str = u"hello"_s;

Diese Funktion wurde in Qt 6.4 eingeführt.

Siehe auch ` Qt::Literals::StringLiterals`.

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