Класс QLatin1String
Класс QLatin1String предоставляет тонкий обертка вокруг строкового литерала в кодировке US-ASCII/Latin-1. Подробнее...
| Заголовок: | #include <QLatin1String> |
| qmake: | QT += core |
Примечание: Все функции в этом классе являются многопоточными.
Открытые функции
| QLatin1String() | |
| QLatin1String(const char *str) | |
| QLatin1String(const char *str, int size) | |
| QLatin1String(const QByteArray &str) | |
| const char * | data() const |
| const char * | latin1() const |
| int | size() const |
| bool | operator!=(const QString &other) const |
| bool | operator!=(const char *other) const |
| bool | operator!=(const QByteArray &other) const |
| bool | operator<(const QString &other) const |
| bool | operator<(const char *other) const |
| bool | operator<(const QByteArray &other) const |
| bool | operator<=(const QString &other) const |
| bool | operator<=(const char *other) const |
| bool | operator<=(const QByteArray &other) const |
| bool | operator==(const QString &other) const |
| bool | operator==(const char *other) const |
| bool | operator==(const QByteArray &other) const |
| bool | operator>(const QString &other) const |
| bool | operator>(const char *other) const |
| bool | operator>(const QByteArray &other) const |
| bool | operator>=(const QString &other) const |
| bool | operator>=(const char *other) const |
| bool | operator>=(const QByteArray &other) const |
Связанные внешние функции
| bool | operator!=(QLatin1String s1, QLatin1String s2) |
| bool | operator<(QLatin1String s1, QLatin1String s2) |
| bool | operator<=(QLatin1String s1, QLatin1String s2) |
| bool | operator==(QLatin1String s1, QLatin1String s2) |
| bool | operator>(QLatin1String s1, QLatin1String s2) |
| bool | operator>=(QLatin1String s1, QLatin1String s2) |
Подробное описание
Класс QLatin1String предоставляет тонкий обертка вокруг строкового литерала в кодировке US-ASCII/Latin-1.
Многие члены QString перегружены, чтобы принимать const char * вместо QString. Это включает конструктор копирования, оператор присваивания, операторы сравнения и различные другие функции, такие как insert(), replace() и indexOf(). Эти функции обычно оптимизированы, чтобы избежать создания объекта QString для const char * данных. Например, предполагая, что str является объектом QString,
if (str == "auto" || str == "extern"
|| str == "static" || str == "register") {
...
} гораздо быстрее, чем
if (str == QString("auto") || str == QString("extern")
|| str == QString("static") || str == QString("register")) {
...
} потому что не создаёт четыре временных объекта QString и не делает глубокую копию данных символов.
Приложения, которые определяют QT_NO_CAST_FROM_ASCII (как объяснено в документации QString) не имеют доступа к const char * API QString. Для эффективного указания постоянных строк Latin-1 Qt предоставляет QLatin1String, который представляет собой очень тонкий обертка вокруг const char *. Используя QLatin1String, пример кода выше становится
if (str == QLatin1String("auto")
|| str == QLatin1String("extern")
|| str == QLatin1String("static")
|| str == QLatin1String("register") {
...
} Это немного дольше набирать, но предоставляет те же преимущества, что и первый вариант кода, и быстрее, чем преобразование строк Latin-1 с помощью QString::fromLatin1().
Благодаря конструктору QString(QLatin1String), QLatin1String может использоваться везде, где ожидается QString. Например:
QLabel *label = new QLabel(QLatin1String("MOD"), this); Примечание: Если функция, которую вы вызываете с аргументом QLatin1String, на самом деле не перегружена для QLatin1String, неявное преобразование в QString вызовет выделение памяти, чего обычно и нужно избегать, используя QLatin1String в первую очередь. В таких случаях использование QStringLiteral может быть лучшим вариантом.
См. также QString, QLatin1Char и QStringLiteral.
Документация по членам-функциям
QLatin1String::QLatin1String()
Конструирует объект QLatin1String, который хранит nullptr.
Эта функция была введена в Qt 5.6.
QLatin1String::QLatin1String(const char *str)
Конструирует объект QLatin1String, который хранит str.
Данные строки не копируются. Вызывающая сторона должна гарантировать, что str не будет удалён или изменён, пока существует объект QLatin1String.
См. также latin1().
QLatin1String::QLatin1String(const char *str, int size)
Конструирует объект QLatin1String, который хранит str с размером size.
Данные строки не копируются. Вызывающая сторона должна гарантировать, что str не будет удалён или изменён, пока существует объект QLatin1String.
См. также latin1().
QLatin1String::QLatin1String(const QByteArray &str)
Конструирует объект QLatin1String, который хранит str.
Данные строки не копируются. Вызывающая сторона должна гарантировать, что str не будет удалён или изменён, пока существует объект QLatin1String.
См. также latin1().
const char *QLatin1String::data() const
Возвращает строку Latin-1, хранящуюся в этом объекте.
const char *QLatin1String::latin1() const
Возвращает строку Latin-1, хранящуюся в этом объекте.
int QLatin1String::size() const
Возвращает размер строки Latin-1, хранящейся в этом объекте.
bool QLatin1String::operator!=(const QString &other) const
Возвращает true , если эта строка не равна строке other; в противном случае возвращает false.
Сравнение основано исключительно на числовых значениях Unicode символов и очень быстрое, но не соответствует ожиданиям человека. Рассмотрите сортировку строк пользовательского интерфейса с помощью QString::localeAwareCompare().
bool QLatin1String::operator!=(const char *other) const
Эта функция перегружает operator!=().
Указатель other const char преобразуется в QString с использованием функции QString::fromUtf8().
Вы можете отключить этот оператор, определив QT_NO_CAST_FROM_ASCII при компиляции своих приложений. Это может быть полезно, если вы хотите убедиться, что все видимые пользователю строки проходят через QObject::tr(), например.
Эта функция была добавлена в Qt 4.3.
bool QLatin1String::operator!=(const QByteArray &other) const
Эта функция перегружает operator!=().
Массив байтов other преобразуется в QString с использованием функции QString::fromUtf8().
Вы можете отключить этот оператор, определив QT_NO_CAST_FROM_ASCII при компиляции своих приложений. Это может быть полезно, если вы хотите убедиться, что все видимые пользователю строки проходят через QObject::tr(), например.
Эта функция была добавлена в Qt 5.0.
bool QLatin1String::operator<(const QString &other) const
Возвращает true , если эта строка лексически меньше строки other; в противном случае возвращает false.
Сравнение основано исключительно на числовых значениях Unicode символов и очень быстрое, но не соответствует ожиданиям человека. Рассмотрите сортировку строк пользовательского интерфейса с помощью функции QString::localeAwareCompare().
bool QLatin1String::operator<(const char *other) const
Это перегруженная функция.
Указатель other const char преобразуется в QString с использованием функции QString::fromUtf8().
Вы можете отключить этот оператор, определив QT_NO_CAST_FROM_ASCII при компиляции своих приложений. Это может быть полезно, если вы хотите убедиться, что все видимые пользователю строки проходят через QObject::tr(), например.
Эта функция была добавлена в Qt 4.3.
bool QLatin1String::operator<(const QByteArray &other) const
Это перегруженная функция.
Указатель other const char преобразуется в QString с использованием функции QString::fromUtf8().
Вы можете отключить этот оператор, определив QT_NO_CAST_FROM_ASCII при компиляции своих приложений. Это может быть полезно, если вы хотите убедиться, что все видимые пользователю строки проходят через QObject::tr(), например.
Эта функция была добавлена в Qt 5.0.
bool QLatin1String::operator<=(const QString &other) const
Возвращает true , если эта строка лексически меньше или равна строке other; в противном случае возвращает false.
Сравнение основано исключительно на числовых значениях Unicode символов и очень быстрое, но не соответствует ожиданиям человека. Рассмотрите сортировку строк пользовательского интерфейса с помощью QString::localeAwareCompare().
bool QLatin1String::operator<=(const char *other) const
Это перегруженная функция.
Указатель other const char преобразуется в QString с использованием функции QString::fromUtf8().
Вы можете отключить этот оператор, определив QT_NO_CAST_FROM_ASCII при компиляции своих приложений. Это может быть полезно, если вы хотите убедиться, что все видимые пользователю строки проходят через QObject::tr(), например.
Эта функция была добавлена в Qt 4.3.
bool QLatin1String::operator<=(const QByteArray &other) const
Это перегруженная функция.
Массив other преобразуется в QString с использованием функции QString::fromUtf8().
Вы можете отключить этот оператор, определив QT_NO_CAST_FROM_ASCII при компиляции своих приложений. Это может быть полезно, если вы хотите убедиться, что все видимые пользователю строки проходят через QObject::tr(), например.
Эта функция была добавлена в Qt 5.0.
bool QLatin1String::operator==(const QString &other) const
Возвращает true , если эта строка равна строке other; в противном случае возвращает false.
Сравнение основано исключительно на числовых значениях Unicode символов и очень быстрое, но не соответствует ожиданиям человека. Рассмотрите сортировку строк пользовательского интерфейса с помощью QString::localeAwareCompare().
bool QLatin1String::operator==(const char *other) const
Это перегруженная функция.
Указатель other const char преобразуется в QString с использованием функции QString::fromUtf8().
Вы можете отключить этот оператор, определив QT_NO_CAST_FROM_ASCII при компиляции своих приложений. Это может быть полезно, если вы хотите убедиться, что все видимые пользователю строки проходят через QObject::tr(), например.
Эта функция была добавлена в Qt 4.3.
bool QLatin1String::operator==(const QByteArray &other) const
Это перегруженная функция.
Массив байтов other преобразуется в QString с использованием функции QString::fromUtf8().
Вы можете отключить этот оператор, определив QT_NO_CAST_FROM_ASCII при компиляции своих приложений. Это может быть полезно, если вы хотите убедиться, что все видимые пользователю строки проходят через QObject::tr(), например.
Эта функция была добавлена в Qt 5.0.
bool QLatin1String::operator>(const QString &other) const
Возвращает true , если эта строка лексически больше строки other; в противном случае возвращает false.
Сравнение основано исключительно на числовых значениях Unicode символов и очень быстрое, но не соответствует ожиданиям человека. Рассмотрите сортировку строк пользовательского интерфейса с помощью QString::localeAwareCompare().
bool QLatin1String::operator>(const char *other) const
Это перегруженная функция.
Указатель other const char преобразуется в QString с использованием функции QString::fromUtf8().
Вы можете отключить этот оператор, определив QT_NO_CAST_FROM_ASCII при компиляции своих приложений. Это может быть полезно, если вы хотите убедиться, что все видимые пользователю строки проходят через QObject::tr(), например.
Эта функция была добавлена в Qt 4.3.
bool QLatin1String::operator>(const QByteArray &other) const
Это перегруженная функция.
Указатель other const char преобразуется в QString с использованием функции QString::fromUtf8().
Вы можете отключить этот оператор, определив QT_NO_CAST_FROM_ASCII при компиляции своих приложений. Это может быть полезно, если вы хотите убедиться, что все видимые пользователю строки проходят через QObject::tr(), например.
Эта функция была добавлена в Qt 5.0.
bool QLatin1String::operator>=(const QString &other) const
Возвращает true , если эта строка лексически больше или равна строке other; в противном случае возвращает false.
Сравнение основано исключительно на числовых значениях Unicode символов и очень быстрое, но не соответствует ожиданиям человека. Рассмотрите сортировку строк пользовательского интерфейса с помощью QString::localeAwareCompare().
bool QLatin1String::operator>=(const char *other) const
Это перегруженная функция.
Указатель other const char преобразуется в QString с использованием функции QString::fromUtf8().
Вы можете отключить этот оператор, определив QT_NO_CAST_FROM_ASCII при компиляции своих приложений. Это может быть полезно, если вы хотите убедиться, что все видимые пользователю строки проходят через QObject::tr(), например.
Эта функция была добавлена в Qt 4.3.
bool QLatin1String::operator>=(const QByteArray &other) const
Это перегруженный метод.
Массив other преобразуется в QString с помощью функции QString::fromUtf8().
Можно отключить этот оператор, определив QT_NO_CAST_FROM_ASCII при компиляции приложения. Это может быть полезно, если необходимо гарантировать, что все отображаемые пользователю строки проходят через QObject::tr(), например.
Этот метод был добавлен в Qt 5.0.
Связанные внешние функции
bool operator!=(QLatin1String s1, QLatin1String s2)
Возвращает true, если строка s1 лексически не равна строке s2; в противном случае возвращает false.
bool operator<(QLatin1String s1, QLatin1String s2)
Возвращает true, если строка s1 лексически меньше строки s2; в противном случае возвращает false.
bool operator<=(QLatin1String s1, QLatin1String s2)
Возвращает true, если строка s1 лексически меньше или равна строке s2; в противном случае возвращает false.
bool operator==(QLatin1String s1, QLatin1String s2)
Возвращает true, если строка s1 лексически равна строке s2; в противном случае возвращает false.
bool operator>(QLatin1String s1, QLatin1String s2)
Возвращает true, если строка s1 лексически больше строки s2; в противном случае возвращает false.
bool operator>=(QLatin1String s1, QLatin1String s2)
Возвращает true, если строка s1 лексически больше или равна строке s2; в противном случае возвращает false.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/archives/qt-5.6/qlatin1string.html