StringLiterals Namespace

Qt::Literals::StringLiterals

The StringLiterals namespace declares string literal operators for Qt types. 更多...

头: #include <QStringLiterals>
CMake: find_package(Qt6 REQUIRED COMPONENTS Core)
target_link_libraries(mytarget PRIVATE Qt6::Core)
qmake: QT += core

函数

QLatin1Char operator""_L1 (char ch )
QLatin1StringView operator""_L1 (const char * str , size_t size )
QByteArray operator""_ba (const char * str , size_t size )
QString operator""_s (const char16_t * str , size_t size )

详细描述

内联 Qt::Literals::StringLiterals 名称空间声明用于 Qt 类型的字符串文字操作符。因为两者 Literals and StringLiterals 名称空间是以内联方式声明的,所以,来自此名称空间的符号可以通过在代码中添加下列之一访问:

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

函数文档编制

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

文字运算符创建的 QLatin1Char out of ch .

以下代码创建 QLatin1Char :

using namespace Qt::Literals::StringLiterals;
auto ch = 'a'_L1;
					

该函数在 Qt 6.4 引入。

另请参阅 Qt::Literals::StringLiterals .

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

文字运算符创建的 QLatin1StringView out of the first size characters in the char string literal str .

以下代码创建 QLatin1StringView :

using namespace Qt::Literals::StringLiterals;
auto str = "hello"_L1;
					

该函数在 Qt 6.4 引入。

另请参阅 Qt::Literals::StringLiterals .

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

文字运算符创建的 QByteArray out of the first size characters in the char string literal str .

The QByteArray is created at compile time, and the generated string data is stored in the read-only segment of the compiled object file. Duplicate literals may share the same read-only memory. This functionality is interchangeable with QByteArrayLiteral , but saves typing when many string literals are present in the code.

以下代码创建 QByteArray :

using namespace Qt::Literals::StringLiterals;
auto str = "hello"_ba;
					

该函数在 Qt 6.4 引入。

另请参阅 Qt::Literals::StringLiterals .

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

文字运算符创建的 QString out of the first size characters in the char16_t string literal str .

The QString is created at compile time, and the generated string data is stored in the read-only segment of the compiled object file. Duplicate literals may share the same read-only memory. This functionality is interchangeable with QStringLiteral , but saves typing when many string literals are present in the code.

以下代码创建 QString :

using namespace Qt::Literals::StringLiterals;
auto str = u"hello"_s;
					

该函数在 Qt 6.4 引入。

另请参阅 Qt::Literals::StringLiterals .