Sur cette page

Qt::Literals::StringLiterals Namespace

namespace Qt::Literals::StringLiterals

L'espace de noms StringLiterals déclare les opérateurs littéraux pour les types de chaînes de caractères Qt. Plus d'informations...

En-tête : #include <QString>
CMake : find_package(Qt6 REQUIRED COMPONENTS Core)
target_link_libraries(mytarget PRIVATE Qt6::Core)
qmake : QT += core

Fonctions

(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)

Description détaillée

L'espace de noms inline Qt::Literals::StringLiterals déclare les opérateurs littéraux pour les types de chaînes de caractères Qt. Comme les espaces de noms Literals et StringLiterals sont déclarés comme inline, les symboles de cet espace de noms peuvent être accédés en ajoutant l'un des éléments suivants à votre code :

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

Ce dernier est déconseillé, car il ne vous permet pas de choisir les opérateurs littéraux que vous voulez au cas où Qt ajouterait des opérateurs conflictuels dans différents espaces de noms à l'intérieur de Qt::Literals.

Documentation sur les fonctions

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

Opérateur littéral qui crée un QLatin1Char à partir d'un ch.

Le code suivant crée un QLatin1Char:

using namespace Qt::StringLiterals;

auto ch = 'a'_L1;

Cette fonction a été introduite dans Qt 6.4.

Voir aussi Qt::Literals::StringLiterals.

[constexpr noexcept, since 6.4] QLatin1StringView operator""_L1(const char *str, size_t size)

Opérateur littéral qui crée un QLatin1StringView à partir des premiers size caractères de la chaîne de caractères littérale str.

Le code suivant crée un QLatin1StringView:

using namespace Qt::StringLiterals;

auto str = "hello"_L1;

Cette fonction a été introduite dans Qt 6.4.

Voir aussi Qt::Literals::StringLiterals.

[noexcept, since 6.4] QByteArray operator""_ba(const char *str, size_t size)

Opérateur littéral qui crée un QByteArray à partir des premiers caractères size de la chaîne de caractères littérale str.

Le QByteArray est créé au moment de la compilation et les données de la chaîne générée sont stockées dans le segment en lecture seule du fichier objet compilé. Les données littérales dupliquées peuvent partager la même mémoire en lecture seule. Cette fonctionnalité est interchangeable avec QByteArrayLiteral, mais permet d'économiser de la frappe lorsque de nombreuses chaînes de caractères littérales sont présentes dans le code.

Le code suivant crée un QByteArray:

using namespace Qt::StringLiterals;

auto str = "hello"_ba;

Cette fonction a été introduite dans Qt 6.4.

Voir aussi Qt::Literals::StringLiterals.

[noexcept, since 6.4] QString operator""_s(const char16_t *str, size_t size)

Opérateur littéral qui crée une QString à partir des premiers caractères size de la chaîne littérale char16_t str.

Le QString est créé au moment de la compilation et les données de la chaîne générée sont stockées dans le segment en lecture seule du fichier objet compilé. Les littéraux dupliqués peuvent partager la même mémoire en lecture seule. Cette fonctionnalité est interchangeable avec QStringLiteral, mais permet d'économiser de la frappe lorsque de nombreuses chaînes de caractères littérales sont présentes dans le code.

Le code suivant crée un QString:

using namespace Qt::StringLiterals;

auto str = u"hello"_s;

Cette fonction a été introduite dans Qt 6.4.

Voir aussi 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.