Sur cette page

Qt::Literals::StringLiterals Namespace

namespace Qt::Literals::StringLiterals

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

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 des opérateurs littéraux pour les types de chaînes Qt. Les espaces de noms Literals et StringLiterals étant tous deux déclarés comme inline, les symboles de cet espace de noms sont accessibles en ajoutant l'une des expressions suivantes à 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;

Cette dernière méthode est déconseillée, car elle ne vous permet pas de choisir les opérateurs littéraux que vous souhaitez utiliser au cas où Qt ajouterait des opérateurs conflictuels dans différents espaces de noms au sein de Qt::Literals.

Documentation des fonctions

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

Opérateur littéral qui crée une ` QLatin1Char ` à partir de ` 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 ` size ` premiers caractères de la chaîne de caractères littérale ` str`.

Le code suivant crée un objet ` 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 une ` QByteArray ` à partir des ` size ` premiers caractères de la chaîne littérale de type `char` ` str`.

L'QByteArray est créé lors de la compilation, et les données de chaîne générées sont stockées dans le segment en lecture seule du fichier objet compilé. Des littéraux en double peuvent partager la même mémoire en lecture seule. Cette fonctionnalité est interchangeable avec QByteArrayLiteral, mais permet de gagner du temps de saisie lorsque de nombreux littéraux de chaîne sont présents dans le code.

Le code suivant crée une « QByteArray » :

using namespace Qt::StringLiterals;

auto str = "hello"_ba;

Cette fonction a été introduite dans Qt 6.4.

Voir également ` Qt::Literals::StringLiterals`.

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

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

L’ QString est créé au moment de la compilation, et les données de chaîne générées sont stockées dans le segment en lecture seule du fichier objet compilé. Des littéraux en double peuvent partager la même mémoire en lecture seule. Cette fonctionnalité est interchangeable avec QStringLiteral, mais permet de gagner du temps de saisie lorsque de nombreux littéraux de chaîne sont présents dans le code.

Le code suivant crée une ` QString` :

using namespace Qt::StringLiterals;

auto str = u"hello"_s;

Cette fonction a été introduite dans Qt 6.4.

Voir également ` 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.