Класс 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) | |
| QLatin1Char | at(int pos) const |
| const char * | data() const |
| const char * | latin1() const |
| QLatin1String | left(int length) const |
| QLatin1String | mid(int start) const |
| QLatin1String | mid(int start, int length) const |
| QLatin1String | right(int length) 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 |
| QLatin1Char | operator[](int pos) 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), не имеют доступа к API const char * 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().
QLatin1Char QLatin1String::at(int pos) const
Возвращает символ по позиции pos в этом объекте.
Примечание: Эта функция не выполняет проверки ошибок. Поведение не определено, когда pos < 0 или pos >= size().
Эта функция была добавлена в Qt 5.8.
См. также operator[]().
const char *QLatin1String::data() const
Возвращает хранящуюся в этом объекте строку Latin-1.
const char *QLatin1String::latin1() const
Возвращает хранящуюся в этом объекте строку Latin-1.
QLatin1String QLatin1String::left(int length) const
Возвращает подстроку длиной length, начинающуюся с позиции 0 в этом объекте.
Примечание: Эта функция не выполняет проверки ошибок. Поведение не определено, когда length < 0 или length > size().
Эта функция была добавлена в Qt 5.8.
QLatin1String QLatin1String::mid(int start) const
Возвращает подстроку, начинающуюся с позиции start в этом объекте и продолжающуюся до конца строки.
Примечание: Эта функция не выполняет проверки ошибок. Поведение не определено, когда start < 0 или start > size().
Эта функция была добавлена в Qt 5.8.
QLatin1String QLatin1String::mid(int start, int length) const
Это перегруженный метод.
Возвращает подстроку длиной length, начинающуюся с позиции start в этом объекте.
Примечание: Эта функция не выполняет проверки ошибок. Поведение не определено, когда start < 0, length < 0 или start + length > size().
Эта функция была добавлена в Qt 5.8.
QLatin1String QLatin1String::right(int length) const
Возвращает подстроку длиной length, начинающуюся с позиции size() - length в этом объекте.
Примечание: Эта функция не выполняет проверки ошибок. Поведение не определено, когда length < 0 или length > size().
Эта функция была добавлена в Qt 5.8.
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 преобразуется в 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.
QLatin1Char QLatin1String::operator[](int pos) const
Возвращает символ в позиции pos в этом объекте.
Примечание: Эта функция не выполняет проверки ошибок. Поведение неопределено, когда pos < 0 или pos >= size().
Эта функция была введена в Qt 5.8.
См. также at().
Связанные нечленные функции
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/qt-5.9/qlatin1string.html