このページでは

QStringRef Class

QStringRef クラスは、QString のサブストリングをラップするシンプルなラッパーを提供します。詳細...

ヘッダー: #include <QStringRef>
CMake: find_package(Qt6 REQUIRED COMPONENTS Core5Compat)
target_link_libraries(mytarget PRIVATE Qt6::Core5Compat)
qmake: QT += core5compat

注:このクラスのすべての関数は再入可能です。

パブリック型

パブリック関数

QStringRef()
QStringRef(const QString *string)
QStringRef(const QString *string, qsizetype position, qsizetype length)
QStringRef(const QStringRef &other)
~QStringRef()
QStringRef appendTo(QString *string) const
const QChar at(int position) const
QChar back() const
QStringRef::const_iterator begin() const
QStringRef::const_iterator cbegin() const
QStringRef::const_iterator cend() const
void chop(int n)
QStringRef chopped(int len) const
void clear()
int compare(QChar ch, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
int compare(QLatin1String other, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
int compare(const QByteArray &other, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
int compare(const QString &other, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
int compare(const QStringRef &other, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
QStringRef::const_iterator constBegin() const
const QChar *constData() const
QStringRef::const_iterator constEnd() const
bool contains(const QString &str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
bool contains(QChar ch, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
bool contains(QLatin1String str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
bool contains(QStringView str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
bool contains(const QStringRef &str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
int count() const
int count(const QString &str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
int count(QChar ch, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
int count(const QStringRef &str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
QStringRef::const_reverse_iterator crbegin() const
QStringRef::const_reverse_iterator crend() const
const QChar *data() const
QStringRef::const_iterator end() const
bool endsWith(const QString &str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
bool endsWith(QChar ch, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
bool endsWith(QLatin1String str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
bool endsWith(QStringView str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
bool endsWith(const QStringRef &str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
QChar front() const
int indexOf(QLatin1String str, int from = 0, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
int indexOf(const QString &str, int from = 0, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
int indexOf(QChar ch, int from = 0, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
int indexOf(QStringView str, int from = 0, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
int indexOf(const QStringRef &str, int from = 0, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
bool isEmpty() const
bool isNull() const
bool isRightToLeft() const
int lastIndexOf(const QString &str, int from = -1, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
int lastIndexOf(QChar ch, int from = -1, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
int lastIndexOf(QLatin1String str, int from = -1, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
int lastIndexOf(QStringView str, int from = -1, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
int lastIndexOf(const QStringRef &str, int from = -1, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
QStringRef left(int n) const
int length() const
int localeAwareCompare(const QString &other) const
int localeAwareCompare(const QStringRef &other) const
QStringRef mid(int position, int n = -1) const
int position() const
QStringRef::const_reverse_iterator rbegin() const
QStringRef::const_reverse_iterator rend() const
QStringRef right(int n) const
int size() const
QList<QStringRef> split(const QString &sep, Qt::SplitBehavior behavior = Qt::KeepEmptyParts, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
QList<QStringRef> split(QChar sep, Qt::SplitBehavior behavior = Qt::KeepEmptyParts, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
bool startsWith(const QString &str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
bool startsWith(QChar ch, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
bool startsWith(QLatin1String str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
bool startsWith(QStringView str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
bool startsWith(const QStringRef &str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
const QString *string() const
double toDouble(bool *ok = nullptr) const
float toFloat(bool *ok = nullptr) const
int toInt(bool *ok = nullptr, int base = 10) const
QByteArray toLatin1() const
QByteArray toLocal8Bit() const
long toLong(bool *ok = nullptr, int base = 10) const
qlonglong toLongLong(bool *ok = nullptr, int base = 10) const
short toShort(bool *ok = nullptr, int base = 10) const
QString toString() const
uint toUInt(bool *ok = nullptr, int base = 10) const
ulong toULong(bool *ok = nullptr, int base = 10) const
qulonglong toULongLong(bool *ok = nullptr, int base = 10) const
ushort toUShort(bool *ok = nullptr, int base = 10) const
QList<uint> toUcs4() const
QByteArray toUtf8() const
QStringRef trimmed() const
void truncate(int position)
const QChar *unicode() const
bool operator!=(const char *s) const
bool operator<(const char *s) const
bool operator<=(const char *s) const
QStringRef &operator=(const QString *string)
QStringRef &operator=(const QStringRef &other)
bool operator==(const char *s) const
bool operator>(const char *s) const
bool operator>=(const char *s) const
QChar operator[](int position) const

静的パブリックメンバー

int compare(const QStringRef &s1, const QString &s2, Qt::CaseSensitivity cs = Qt::CaseSensitive)
int compare(const QStringRef &s1, QLatin1String s2, Qt::CaseSensitivity cs = Qt::CaseSensitive)
int compare(const QStringRef &s1, const QStringRef &s2, Qt::CaseSensitivity cs = Qt::CaseSensitive)
int localeAwareCompare(const QStringRef &s1, const QString &s2)
int localeAwareCompare(const QStringRef &s1, const QStringRef &s2)
bool operator<(const QStringRef &s1, const QStringRef &s2)
bool operator<=(const QStringRef &s1, const QStringRef &s2)
bool operator==(QLatin1String s1, const QStringRef &s2)
bool operator==(const QString &s1, const QStringRef &s2)
bool operator==(const QStringRef &s1, const QStringRef &s2)
bool operator>(const QStringRef &s1, const QStringRef &s2)
bool operator>=(const QStringRef &s1, const QStringRef &s2)

詳細な説明

QStringRefは、QString APIの読み取り専用サブセットを提供します。

文字列参照は、指定されたsize() を持つstring() の一部を、特定のposition() から開始して明示的に参照します。toString() を呼び出すと、データのコピーが実際のQString インスタンスとして返されます。

このクラスは、既存のQString インスタンスから取得した部分文字列を操作する際のパフォーマンスを向上させるために設計されています。 QStringRefは、元の文字列の一部を単に参照することで、標準のQString に伴うメモリ割り当てや参照カウントのオーバーヘッドを回避します。これは、パーサーなどで使用されるような低レベルなコードにおいて有利に働く可能性がありますが、その代償としてコードがより複雑になる可能性があります。

QStringRefではメモリ管理に注意を払う必要があり、コードの記述や保守が複雑になる可能性があるため、ほとんどのユーザーにとって、QString の代わりにQStringRefを使用することによる意味的な利点はありません。

警告: QStringRefは、 参照先の文字列が存在する間のみ有効です。元の文字列が削除されると、その文字列参照は無効なメモリ位置を指すことになります。

このクラスは、プロファイリングによって、標準的な文字列操作をこのクラスが提供する最適化された部分文字列処理に置き換えることでパフォーマンスの向上が明確に確認された、安定したコードでのみ使用することをお勧めします。

セキュリティに関する考慮事項

このクラスは、int を使用してsize()およびposition()を格納します。その結果、INT_MAX より長い文字列の一部、またはそれより大きいオフセットから始まる文字列の一部を表現することはできません。そのような部分に参照しようとすると、未定義の挙動となります。 なお、明示的なサイズが渡されていない場合でも、QString のサイズがINT_MAX を超える場合、QString からのQStringRefの生成も影響を受けることに注意してください。

代わりにQStringView を使用してください。その所有権モデルは QStringRef よりも緩いことに留意してください。詳細については、移植ガイドを参照してください。

「暗黙的に共有されるクラス」も参照してください 。

メンバ型のドキュメント

QStringRef::const_iterator

QStringRef::const_reverse_iteratorも参照してください 。

QStringRef::const_reverse_iterator

QStringRef::const_iteratorも参照してください 。

メンバー関数のドキュメント

[constexpr noexcept] QStringRef::QStringRef()

空の文字列参照を作成します。

QStringRef::QStringRef(const QString *string)

指定されたstring への文字列参照を作成します。

警告: QStringRef は 、そのsize() を表すためにint (32 ビット) を使用します。Qt 6 では、QString のサイズはqsizetype として表され、64 ビットビルドでは 64 ビットになります。入力のサイズが 32 ビットに収まることを確認してください。そうでない場合、the behavior is undefined となります。

QStringRef::QStringRef(const QString *string, qsizetype position, qsizetype length)

指定されたstring 内の、開始位置position およびlength で指定された文字範囲に対する文字列参照を構築します。

警告: この関数は パフォーマンスを可能な限り向上させるために存在しており、境界チェックは一切行いません。プログラムの正しさを確保するためには、position およびlength がstring の有効な部分文字列を表し、かつint で表現可能でなければなりません。

つまり、開始位置position は正または 0 で、かつstring の長さより小さくなければならず、またlength は正または 0 で、かつ文字列の長さから開始位置position を引いた値より小さくなければなりません。すなわち、0 <= position < string->length() および 0 <= length <= string->length() - position の両方が満たされる必要があります。

警告: Qt 6.12以降、 このコンストラクタは `int` の代わりに `qsizetype `、`position `、および `length ` を受け取ります。これにより、呼び出し側でのサイレントな型狭窄が防止されます。ただし、`int ` で表現できない値を渡した場合でも、結果は `undefined behavior` となります。

[implicit] QStringRef::QStringRef(const QStringRef &other)

other 文字列リファレンスのコピーを作成します。

[noexcept implicit] QStringRef::~QStringRef()

文字列への参照を破棄します。

このクラスは文字列データを参照するためにのみ使用され、その所有権を取得しないため、インスタンスが破棄されてもメモリは解放されません。

QStringRef QStringRef::appendTo(QString *string) const

文字列参照を `string` に追加し、結合された文字列データへの新しい参照を返します。

const QChar QStringRef::at(int position) const

文字列参照内の指定されたインデックスposition にある文字を返します。

position は、文字列内の有効なインデックス位置でなければなりません(つまり、0 <=position <size())。

QChar QStringRef::back() const

文字列の最後の文字を返します。at(size() - 1) と同じです。

この関数は、STLとの互換性を確保するために提供されています。

警告: 空の文字列に対してこの関数を呼び出すと 、未定義の挙動となります。

関連項目: front()、at()、およびoperator[]()。

QStringRef::const_iterator QStringRef::begin() const

文字列の先頭文字を指す、STL スタイルのconstイテレータを返します。

cbegin()、constBegin()、end()、constEnd()、rbegin()、およびrend()も参照してください 。

QStringRef::const_iterator QStringRef::cbegin() const

begin() と同様です。

begin()、constBegin()、cend()、constEnd()、rbegin()、およびrend()も参照してください 。

QStringRef::const_iterator QStringRef::cend() const

end() と同様です。

end()、constEnd()、cbegin()、constBegin()、rbegin()、およびrend()も参照してください 。

[noexcept] void QStringRef::chop(int n)

文字列の末尾からn 文字を削除します。

n がsize()以上の場合、結果は空文字列になります。n が負の場合、0を指定した場合と同じ結果になります。

QString::chop() およびtruncate()も参照してください 。

QStringRef QStringRef::chopped(int len) const

この文字列のsize() -len の左端にある文字への部分文字列参照を返します。

注: len が負の数、またはsize()より大きい場合、動作は 未定義となります。

関連項目: endsWith()、left()、right()、mid()、chop()、およびtruncate()を参照してください 。

void QStringRef::clear()

文字列参照の内容を、nullかつ空にすることでクリアします。

isEmpty() およびisNull()も参照してください 。

[static noexcept] int QStringRef::compare(const QStringRef &s1, const QString &s2, Qt::CaseSensitivity cs = Qt::CaseSensitive)

s1 とs2 を比較し、s1 がs2 より小さい場合は負の整数を、 がs2 より大きい場合は正の整数を、両者が等しい場合は 0 を返します。

cs がQt::CaseSensitive である場合、比較は大文字と小文字を区別します。それ以外の場合は、大文字と小文字を区別しません。

[noexcept] int QStringRef::compare(QChar ch, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

*this とch を比較し、*this がch より小さい場合は負の整数を、ch より大きい場合は正の整数を、等しい場合は 0 を返します。ここで、ch は長さ 1 の文字列として解釈されます。

cs がQt::CaseSensitive の場合、比較は大文字と小文字を区別します。それ以外の場合は、大文字と小文字を区別しません。

これはオーバーロードされた関数です。

[noexcept] int QStringRef::compare(QLatin1String other, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

*this とother を比較し、*this がother より小さい場合は負の整数を、 がother より大きい場合は正の整数を、両者が等しい場合は 0 を返します。

cs がQt::CaseSensitive の場合、比較は大文字と小文字を区別します。それ以外の場合は、比較は大文字と小文字を区別しません。

compare(*this, other, cs) と同等です。

これはオーバーロードされた関数です。

[noexcept] int QStringRef::compare(const QByteArray &other, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

*this とother を比較し、*this がother より小さい場合は負の整数を、 がother より大きい場合は正の整数を、両者が等しい場合は 0 を返します。other の内容は UTF-8 として解釈されます。

cs がQt::CaseSensitive の場合、比較は大文字と小文字を区別します。それ以外の場合は、大文字と小文字を区別しません。

compare(*this, other, cs) と同等です。

これはオーバーロードされた関数です。

[noexcept] int QStringRef::compare(const QString &other, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

*this とother を比較し、*this がother より小さい場合は負の整数を、 がother より大きい場合は正の整数を、両者が等しい場合は 0 を返します。

cs がQt::CaseSensitive の場合、比較は大文字と小文字を区別します。それ以外の場合は、大文字と小文字を区別しません。

compare(*this, other, cs) と同等です。

これはオーバーロードされた関数です。

[noexcept] int QStringRef::compare(const QStringRef &other, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

*this とother を比較し、*this がother より小さい場合は負の整数を、 がother より大きい場合は正の整数を、両者が等しい場合は 0 を返します。

cs がQt::CaseSensitive の場合、比較は大文字と小文字を区別します。それ以外の場合は、大文字と小文字を区別しません。

compare(*this, other, cs) と同等です。

これはオーバーロードされた関数です。

[static noexcept] int QStringRef::compare(const QStringRef &s1, QLatin1String s2, Qt::CaseSensitivity cs = Qt::CaseSensitive)

s1 とs2 を比較し、s1 がs2 より小さい場合は負の整数を、s2 より大きい場合は正の整数を、等しい場合は 0 を返します。

cs がQt::CaseSensitive の場合、比較は大文字と小文字を区別します。それ以外の場合は、大文字と小文字を区別しません。

これはオーバーロードされた関数です。

[static noexcept] int QStringRef::compare(const QStringRef &s1, const QStringRef &s2, Qt::CaseSensitivity cs = Qt::CaseSensitive)

s1 とs2 を比較し、s1 がs2 より小さい場合は負の整数を、 がs2 より大きい場合は正の整数を、両者が等しい場合は 0 を返します。

cs がQt::CaseSensitive の場合、比較は大文字と小文字を区別します。それ以外の場合は、大文字と小文字を区別しません。

これはオーバーロードされた関数です。

QStringRef::const_iterator QStringRef::constBegin() const

begin() と同様です。

begin()、cend()、constEnd()、rbegin() およびrend()も参照してください 。

const QChar *QStringRef::constData() const

unicode() と同じです。

QStringRef::const_iterator QStringRef::constEnd() const

end() と同様です。

end()、cend()、cbegin()、constBegin()、rbegin()、およびrend()も参照してください 。

bool QStringRef::contains(const QString &str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

この文字列参照に「str 」という文字列が含まれている場合は「true 」を返し、含まれていない場合は「false 」を返します。

cs がQt::CaseSensitive (デフォルト)の場合、検索は大文字と小文字を区別します。それ以外の場合は、大文字と小文字を区別しません。

indexOf() およびcount()も参照してください 。

bool QStringRef::contains(QChar ch, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

この文字列に「ch 」という文字が含まれている場合は `true ` を返し、そうでない場合は `false` を返します。

cs がQt::CaseSensitive (デフォルト)の場合、検索は大文字と小文字を区別します。それ以外の場合は、大文字と小文字を区別しません。

この関数は、QStringRef::contains() をオーバーロードしています。

bool QStringRef::contains(QLatin1String str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

この文字列参照に「str 」という文字列が含まれている場合は「true 」を返し、そうでない場合は「false 」を返します。

cs がQt::CaseSensitive (デフォルト)の場合、検索は大文字と小文字を区別します。それ以外の場合は、大文字と小文字を区別しません。

この関数は、QStringRef::contains() をオーバーロードしています。

indexOf() およびcount()も参照してください 。

[noexcept] bool QStringRef::contains(QStringView str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

この文字列参照に「str 」という文字列が含まれている場合は「true 」を返し、そうでない場合は「false 」を返します。

cs がQt::CaseSensitive (デフォルト) の場合、検索は大文字と小文字を区別します。それ以外の場合は、大文字と小文字を区別しません。

この関数は、QStringRef::contains() をオーバーロードしています。

indexOf() およびcount()も参照してください 。

bool QStringRef::contains(const QStringRef &str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

この文字列参照に文字列参照 `str` が含まれている場合は `true ` を返し、そうでない場合は `false` を返します。

cs がQt::CaseSensitive (デフォルト)の場合、検索は大文字と小文字を区別します。それ以外の場合は、大文字と小文字を区別しません。

この関数は、QStringRef::contains() をオーバーロードしています。

indexOf() およびcount()も参照してください 。

int QStringRef::count() const

文字列参照が指す文字数を返します。size() およびlength() と同等です。

position() およびstring()も参照してください 。

int QStringRef::count(const QString &str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

この文字列参照内で、文字列「str 」が(重複している可能性を含めて)何回出現するかを返します。

cs がQt::CaseSensitive (デフォルト)の場合、検索は大文字と小文字を区別します。それ以外の場合は、大文字と小文字を区別しません。

QString::count()、contains()、およびindexOf()も参照してください 。

int QStringRef::count(QChar ch, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

文字列リファレンス内で「ch 」という文字列が何回出現するかを返します。

cs が `Qt::CaseSensitive `(デフォルト)の場合、検索は大文字と小文字を区別します。それ以外の場合は、大文字と小文字を区別しません。

この関数はQStringRef::count() をオーバーロードしています。

QString::count()、contains()、およびindexOf()も参照してください 。

int QStringRef::count(const QStringRef &str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

この文字列参照内で、文字列参照str が(重複している可能性のある)出現回数を返します。

cs が `Qt::CaseSensitive `(デフォルト)の場合、検索は大文字と小文字を区別します。それ以外の場合は、大文字と小文字を区別しません。

この関数は、QStringRef::count() をオーバーロードします。

QString::count()、contains()、およびindexOf()も参照してください 。

QStringRef::const_reverse_iterator QStringRef::crbegin() const

rbegin() と同様です。

begin()、rbegin()、およびrend()も参照してください 。

QStringRef::const_reverse_iterator QStringRef::crend() const

rend() と同様です。

end()、rend()、およびrbegin()も参照してください 。

const QChar *QStringRef::data() const

unicode() と同じです。

QStringRef::const_iterator QStringRef::end() const

リストの最後の文字の直後に位置する仮想の文字を指す、STL スタイルのconstイテレータを返します。

cbegin()、constBegin()、end()、constEnd()、rbegin()、およびrend()も参照してください 。

bool QStringRef::endsWith(const QString &str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

文字列参照が「str 」で終わる場合は「true 」を返し、そうでない場合は「false 」を返します。

cs がQt::CaseSensitive (デフォルト) の場合、検索は大文字と小文字を区別します。それ以外の場合は、大文字と小文字を区別しません。

QString::endsWith() およびstartsWith()も参照してください 。

bool QStringRef::endsWith(QChar ch, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

文字列参照が「ch 」で終わる場合は `true ` を返し、そうでない場合は `false` を返します。

cs がQt::CaseSensitive (デフォルト)の場合、検索は大文字と小文字を区別します。それ以外の場合は、大文字と小文字を区別しません。

この関数は、QStringRef::endsWith() をオーバーロードします。

QString::endsWith() およびendsWith()も参照してください 。

bool QStringRef::endsWith(QLatin1String str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

この関数は、QStringRef::endsWith() をオーバーロードしています。

QString::endsWith() およびendsWith()も参照してください 。

[noexcept] bool QStringRef::endsWith(QStringView str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

この関数は、QStringRef::endsWith() をオーバーロードしています。

QString::endsWith() およびstartsWith()も参照してください 。

bool QStringRef::endsWith(const QStringRef &str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

この関数は、QStringRef::endsWith() をオーバーロードしています。

QString::endsWith() およびendsWith()も参照してください 。

QChar QStringRef::front() const

文字列の先頭文字を返します。at(0) と同じです。

この関数は、STLとの互換性を確保するために提供されています。

警告: 空の文字列に対してこの関数を呼び出すと 、未定義の挙動となります。

関連項目: back()、at()、およびoperator[]()。

int QStringRef::indexOf(QLatin1String str, int from = 0, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

この文字列参照内で、文字列 `str ` が最初に現れるインデックス位置を、インデックス位置 `from` から前方へ検索して返します。`str ` が見つからない場合は `-1` を返します。

cs がQt::CaseSensitive (デフォルト)の場合、検索は大文字と小文字を区別します。それ以外の場合は、大文字と小文字を区別しません。

from が -1 の場合、検索は最後の文字から開始されます。-2 の場合は最後から 2 番目の文字から開始され、以下同様です。

QString::indexOf()、lastIndexOf()、contains()、およびcount()も参照してください 。

int QStringRef::indexOf(const QString &str, int from = 0, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

この文字列参照内で、文字列 `str ` が最初に現れるインデックス位置を、インデックス位置 `from` から前方に向かって検索して返します。`str ` が見つからない場合は -1 を返します。

cs がQt::CaseSensitive (デフォルト)の場合、検索は大文字と小文字を区別します。それ以外の場合は、大文字と小文字を区別しません。

from が -1 の場合、検索は最後の文字から開始されます。-2 の場合は最後から 2 番目の文字から開始され、以下同様です。

QString::indexOf()、lastIndexOf()、contains()、およびcount()も参照してください 。

int QStringRef::indexOf(QChar ch, int from = 0, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

文字列参照内で、文字 `ch ` が最初に現れる位置のインデックスを、インデックス位置 `from` から前方へ検索して返します。`ch ` が見つからなかった場合は `-1` を返します。

この関数は、QStringRef::indexOf() をオーバーロードしています。

QString::indexOf()、lastIndexOf()、contains()、およびcount()も参照してください 。

[noexcept] int QStringRef::indexOf(QStringView str, int from = 0, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

この文字列参照内で、文字列ビュー `str ` が最初に現れるインデックス位置を、インデックス位置 `from` から前方へ検索して返します。`str ` が見つからない場合は -1 を返します。

cs がQt::CaseSensitive (デフォルト)の場合、検索は大文字と小文字を区別します。それ以外の場合は、大文字と小文字を区別しません。

from が -1 の場合、検索は最後の文字から開始されます。-2 の場合、最後から 2 番目の文字から開始されます。

この関数は、QStringRef::indexOf() をオーバーロードしています。

QString::indexOf()、QStringView::indexOf()、lastIndexOf()、contains()、およびcount()も参照してください 。

int QStringRef::indexOf(const QStringRef &str, int from = 0, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

この文字列参照内で、文字列参照 `str ` が最初に現れるインデックス位置を、インデックス位置 `from` から前方へ検索して返します。`str ` が見つからない場合は -1 を返します。

cs がQt::CaseSensitive (デフォルト) の場合、検索は大文字と小文字を区別します。それ以外の場合は、大文字と小文字を区別しません。

この関数は、QStringRef::indexOf() をオーバーロードします。

QString::indexOf()、lastIndexOf()、contains()、およびcount()も参照してください 。

bool QStringRef::isEmpty() const

文字列参照に文字が含まれていない場合は `true ` を返し、それ以外の場合は `false` を返します。

文字列参照のサイズが 0 の場合、その文字列参照は空とみなされます。

size()も参照してください 。

bool QStringRef::isNull() const

この文字列参照が文字列を指していない場合、またはそれが指す文字列がnullである場合(つまり、QString::isNull()がtrueとなる場合)、true を返します。

size()も参照してください 。

bool QStringRef::isRightToLeft() const

文字列が右から左に読み込まれる場合、true を返します。

QString::isRightToLeft()も参照してください 。

int QStringRef::lastIndexOf(const QString &str, int from = -1, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

この文字列参照内で、文字列 `str ` が最後に現れるインデックス位置を、インデックス位置 `from` から逆方向に検索して返します。from が -1(デフォルト)の場合、検索は最後の文字から開始されます。from が -2 の場合は、最後から 2 番目の文字から開始され、以下同様です。str が見つからない場合は -1 を返します。

cs がQt::CaseSensitive (デフォルト)の場合、検索は大文字と小文字を区別します。それ以外の場合は、大文字と小文字を区別しません。

QString::lastIndexOf()、indexOf()、contains()、およびcount()も参照してください 。

int QStringRef::lastIndexOf(QChar ch, int from = -1, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

位置 `from` から逆方向に検索し、文字 `ch` が最後に現れたインデックス位置を返します。

この関数は、QStringRef::lastIndexOf() をオーバーロードしたものです。

QString::lastIndexOf()、indexOf()、contains()、およびcount()も参照してください 。

int QStringRef::lastIndexOf(QLatin1String str, int from = -1, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

from この文字列参照内で、文字列 `str ` が最後に現れるインデックス位置を、インデックス位置 `from` から逆方向に検索して返します。from が -1(デフォルト)の場合、検索は最後の文字から開始されます。 が -2 の場合は、最後から 2 番目の文字から開始されます。str が発見されなかった場合は -1 を返します。

cs がQt::CaseSensitive (デフォルト)の場合、検索は大文字と小文字を区別します。それ以外の場合は、大文字と小文字を区別しません。

この関数は、QStringRef::lastIndexOf() をオーバーロードしています。

QString::lastIndexOf()、indexOf()、contains()、およびcount()も参照してください 。

[noexcept] int QStringRef::lastIndexOf(QStringView str, int from = -1, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

この文字列内で、文字列 `str ` が最後に現れる位置のインデックスを、インデックス位置 `from` から逆方向に検索して返します。from が -1(デフォルト)の場合、検索は最後の文字から開始されます。from が -2 の場合は、最後から 2 番目の文字から開始され、以下同様です。str が見つからない場合は -1 を返します。

cs がQt::CaseSensitive (デフォルト)の場合、検索は大文字と小文字を区別します。それ以外の場合は、大文字と小文字を区別しません。

この関数はQStringRef::lastIndexOf() をオーバーロードします。

indexOf()、contains()、およびcount()も参照してください 。

int QStringRef::lastIndexOf(const QStringRef &str, int from = -1, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

この文字列参照内で、文字列参照 `str ` が最後に現れるインデックス位置を、インデックス位置 `from` から逆方向に検索して返します。`from ` が -1(デフォルト)の場合、検索は最後の文字から開始されます。`from ` が -2 の場合は、最後から 2 番目の文字から開始され、以下同様です。`str ` が見つからない場合は -1 を返します。

cs がQt::CaseSensitive (デフォルト)の場合、検索は大文字と小文字を区別します。それ以外の場合は、大文字と小文字を区別しません。

この関数は、QStringRef::lastIndexOf() をオーバーロードしています。

QString::lastIndexOf()、indexOf()、contains()、およびcount()も参照してください 。

QStringRef QStringRef::left(int n) const

文字列の左端からn 文字分の部分文字列への参照を返します。

n がsize() 以上、または 0 未満の場合、文字列全体への参照が返されます。

right()、mid()、startsWith()、chopped()、chop()、およびtruncate()も参照してください 。

int QStringRef::length() const

文字列参照が指す文字数を返します。size() およびcount() と同等です。

position() およびstring()も参照してください 。

[static] int QStringRef::localeAwareCompare(const QStringRef &s1, const QString &s2)

s1 とs2 を比較し、s1 がs2 より小さい場合は負の整数を、s2 より大きい場合は正の整数を、等しい場合は 0 を返します。

比較は、ロケールおよびプラットフォームに依存する方式で行われます。この関数を使用して、ユーザーにソートされた文字列のリストを表示します。

compare()、QLocale 、およびComparing Stringsも参照してください 。

int QStringRef::localeAwareCompare(const QString &other) const

*this とother を比較し、*this がother より小さい場合は負の整数を、other より大きい場合は正の整数を、等しい場合は 0 を返します。

比較は、ロケールおよびプラットフォームに依存した方法で行われます。この関数を使用して、ユーザーにソートされた文字列のリストを表示します。

これはオーバーロードされた関数です。

Comparing Stringsも参照してください 。

int QStringRef::localeAwareCompare(const QStringRef &other) const

*this とother を比較し、*this がother より小さい場合は負の整数を、other より大きい場合は正の整数を、等しい場合は 0 を返します。

比較は、ロケールおよびプラットフォームに依存する方式で行われます。この関数を使用して、ユーザーにソートされた文字列のリストを表示します。

これはオーバーロードされた関数です。

Comparing Stringsも参照してください 。

[static] int QStringRef::localeAwareCompare(const QStringRef &s1, const QStringRef &s2)

s1 とs2 を比較し、s1 がs2 より小さい場合は負の整数を、s2 より大きい場合は正の整数を、等しい場合は 0 を返します。

比較は、ロケールおよびプラットフォームに依存する方式で行われます。この関数を使用して、ユーザーにソートされた文字列のリストを表示します。

これはオーバーロードされた関数です。

Comparing Stringsも参照してください 。

QStringRef QStringRef::mid(int position, int n = -1) const

指定されたposition を起点として、この文字列のn 文字分の部分文字列への参照を返します。

position が文字列の長さを超える場合、null 参照が返されます。

結果のposition() をint で表現できない場合、null のQStringRef が返されます。

指定されたposition から始まる文字列内に利用可能なn 文字が 文字未満の場合、またはn が -1 (デフォルト) の場合、この関数は指定されたposition 以降のすべての文字を返します。

left()、right()、chopped()、chop()、およびtruncate()も参照してください 。

int QStringRef::position() const

文字列参照が指す、参照先の文字列内の開始位置を返します。

size() およびstring()も参照してください 。

QStringRef::const_reverse_iterator QStringRef::rbegin() const

文字列の最初の文字を逆順で指す、STL スタイルのconst 逆イテレータを返します。

begin()、crbegin()、およびrend()も参照してください 。

QStringRef::const_reverse_iterator QStringRef::rend() const

文字列の最後の文字の1つ先を指す、STL形式の逆方向イテレータを、逆順で返します。

end()、crend()、およびrbegin()も参照してください 。

文字列の右端からn 文字分の部分文字列への参照を返します。

n がsize()以上、またはゼロ未満の場合、文字列全体への参照が返されます。

新しいposition() がint() で表現できない場合、文字列全体への参照が返されます。

関連項目: left()、mid()、endsWith()、chopped()、chop()、およびtruncate()。

int QStringRef::size() const

文字列参照が指す文字数を返します。length() およびcount() と同等です。

position() およびstring()も参照してください 。

QList<QStringRef> QStringRef::split(const QString &sep, Qt::SplitBehavior behavior = Qt::KeepEmptyParts, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

文字列を、sep が登場する箇所ごとに部分文字列に分割し、それらの文字列のリストを返します。

sep 、behavior 、cs がどのように連携して結果を形成するかについては、QString::split() を参照してください。

注: この文字列が存続している限り、すべての 参照は有効です。この文字列を破棄すると、すべての参照がダングリングポインタとなります。

QList<QStringRef> QStringRef::split(QChar sep, Qt::SplitBehavior behavior = Qt::KeepEmptyParts, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

これはオーバーロードされた関数です。

bool QStringRef::startsWith(const QString &str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

文字列参照が「str 」で始まる場合は `true ` を返し、そうでない場合は `false` を返します。

cs がQt::CaseSensitive (デフォルト) の場合、検索は大文字と小文字を区別します。それ以外の場合は、大文字と小文字を区別しません。

QString::startsWith() およびendsWith()も参照してください 。

bool QStringRef::startsWith(QChar ch, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

文字列参照が「ch 」で始まる場合は `true ` を返し、そうでない場合は `false` を返します。

cs がQt::CaseSensitive (デフォルト)の場合、検索は大文字と小文字を区別します。それ以外の場合は、大文字と小文字を区別しません。

この関数はQStringRef::startsWith() をオーバーロードします。

QString::startsWith() およびendsWith()も参照してください 。

bool QStringRef::startsWith(QLatin1String str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

この関数は、QStringRef::startsWith() をオーバーロードしています。

QString::startsWith() およびendsWith()も参照してください 。

[noexcept] bool QStringRef::startsWith(QStringView str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

この関数は、QStringRef::startsWith() をオーバーロードしています。

QString::startsWith() およびendsWith()も参照してください 。

bool QStringRef::startsWith(const QStringRef &str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

この関数は、QStringRef::startsWith() をオーバーロードしています。

QString::startsWith() およびendsWith()も参照してください 。

const QString *QStringRef::string() const

文字列参照が指す文字列へのポインタを返します。文字列参照が文字列を指していない場合は 0 を返します。

unicode()も参照してください 。

double QStringRef::toDouble(bool *ok = nullptr) const

double 値に変換された文字列を返します。

変換時にオーバーフローが発生した場合は無限大を、その他の理由(アンダーフローなど)で変換に失敗した場合は0.0を返します。

ok がnullptr でない場合、失敗時は*ok をfalse に設定して報告し、成功時は*ok をtrue に設定して報告します。

文字列の変換は常に「C」ロケールで行われます。ロケールに依存する変換を行う場合は、QLocale::toDouble() を使用してください。

歴史的な理由により、この関数は千の位区切り記号を処理しません。そのような数値を変換する必要がある場合は、QLocale::toDouble() を使用してください。

QString::toDouble()も参照してください 。

float QStringRef::toFloat(bool *ok = nullptr) const

float 値に変換された文字列を返します。

変換時にオーバーフローが発生した場合は無限大を、その他の理由(アンダーフローなど)で変換に失敗した場合は0.0を返します。

ok がnullptr でない場合、失敗時は*ok をfalse に設定して報告し、成功時は*ok をtrue に設定して報告します。

文字列の変換は常に「C」ロケールで行われます。ロケール依存の変換を行うには、QLocale::toFloat() を使用してください。

QString::toFloat()も参照してください 。

int QStringRef::toInt(bool *ok = nullptr, int base = 10) const

文字列を、基数base を使用してint に変換した結果を返します。 のデフォルト値は 10 で、2 から 36 の間の値、または 0 でなければなりません。変換に失敗した場合は 0 を返します。

ok がnullptr でない場合、*ok をfalse に設定して失敗を報告し、*ok をtrue に設定して成功を報告します。

base が0の場合、C言語の規約が使用されます。つまり、文字列が「0x」で始まる場合は16進数、文字列が「0」で始まる場合は8進数、それ以外の場合は10進数が使用されます。

文字列の変換は常に 'C' ロケールで行われます。ロケールに依存する変換を行うには、QLocale::toInt() を使用してください。

QString::toInt()も参照してください 。

QByteArray QStringRef::toLatin1() const

文字列のLatin-1表現をQByteArray として返します。

文字列にLatin-1以外の文字が含まれている場合、返されるバイト配列は未定義となります。それらの文字は省略されるか、疑問符に置き換えられる場合があります。

toUtf8()、toLocal8Bit()、およびQStringEncoderも参照してください 。

QByteArray QStringRef::toLocal8Bit() const

文字列のローカル8ビット表現をQByteArray として返します。文字列にローカル8ビットエンコーディングでサポートされていない文字が含まれている場合、返されるバイト配列は未定義となります。

Unixシステムでは、これはtoUtf8()と同等ですが、Windowsではシステムの現在のコードページが使用されます。

この文字列に、そのロケールでエンコードできない文字が含まれている場合、返されるバイト配列は未定義となります。それらの文字は省略されるか、別の文字に置き換えられる場合があります。

toLatin1()、toUtf8()、およびQStringEncoderも参照してください 。

long QStringRef::toLong(bool *ok = nullptr, int base = 10) const

文字列を、基数base (デフォルトは10。2~36の範囲内、または0でなければならない)を用いてlong に変換した結果を返します。変換に失敗した場合は0を返します。

ok がnullptr でない場合、失敗時は*ok をfalse に設定して、成功時は*ok をtrue に設定して、それぞれ失敗を報告します。

base が0の場合、C言語の規約が使用されます。文字列が「0x」で始まる場合は16進数、文字列が「0」で始まる場合は8進数、それ以外の場合は10進数が使用されます。

文字列の変換は常に「C」ロケールで行われます。ロケール依存の変換を行うには、QLocale::toLong() を使用してください。

QString::toLong()も参照してください 。

qlonglong QStringRef::toLongLong(bool *ok = nullptr, int base = 10) const

文字列を、基数base (デフォルトは10。2から36の間の整数、または0でなければならない)を用いてlong long に変換した結果を返します。変換に失敗した場合は0を返します。

ok がnullptr でない場合、失敗時は*ok をfalse に、成功時は*ok をtrue に設定することで、結果が報告されます。

base が0の場合、C言語の規約が使用されます。文字列が「0x」で始まる場合は16進数、文字列が「0」で始まる場合は8進数、それ以外の場合は10進数が使用されます。

文字列の変換は常に 'C' ロケールで行われます。ロケールに依存する変換を行うには、QLocale::toLongLong() を使用してください。

QString::toLongLong()も参照してください 。

short QStringRef::toShort(bool *ok = nullptr, int base = 10) const

文字列を、基数base (デフォルトは10で、2~36の範囲内、または0でなければならない)を用いてshort に変換した結果を返します。変換に失敗した場合は0を返します。

ok がnullptr でない場合、失敗時は*ok をfalse に設定して報告し、成功時は*ok をtrue に設定して報告します。

base が0の場合、C言語の規約が使用されます。文字列が「0x」で始まる場合は16進数、文字列が「0」で始まる場合は8進数、それ以外の場合は10進数が使用されます。

文字列の変換は常に 'C' ロケールで行われます。ロケール依存の変換を行うには、QLocale::toShort() を使用してください。

QString::toShort()も参照してください 。

QString QStringRef::toString() const

文字列参照のコピーをQString オブジェクトとして返します。

文字列参照が文字列の完全な参照でない場合(つまり、position() の値が 0 で、size() の値がstring() →size() である場合)、この関数は新しい文字列を割り当てて返します。

string()も参照してください 。

uint QStringRef::toUInt(bool *ok = nullptr, int base = 10) const

文字列を、基数base を使用してunsigned int に変換した結果を返します。 のデフォルト値は 10 ですが、2 から 36 までの値、または 0 である必要があります。変換に失敗した場合は 0 を返します。

ok がnullptr ではない場合、*ok をfalse に設定することで失敗が報告され、*ok をtrue に設定することで成功が報告されます。

base が0の場合、C言語の規約が使用されます。文字列が「0x」で始まる場合は16進数、文字列が「0」で始まる場合は8進数、それ以外の場合は10進数が使用されます。

文字列の変換は常に 'C' ロケールで行われます。ロケールに依存する変換を行うには、QLocale::toUInt() を使用してください。

QString::toUInt()も参照してください 。

ulong QStringRef::toULong(bool *ok = nullptr, int base = 10) const

文字列を、基数base を使用してunsigned long に変換した結果を返します。 のデフォルト値は 10 ですが、2 から 36 までの値、または 0 でなければなりません。変換に失敗した場合は 0 を返します。

ok がnullptr でない場合、失敗時は*ok をfalse に設定して、成功時は*ok をtrue に設定することで、結果が報告されます。

base が0の場合、C言語の規約が使用されます。文字列が「0x」で始まる場合は16進数、文字列が「0」で始まる場合は8進数、それ以外の場合は10進数が使用されます。

文字列の変換は常に 'C' ロケールで行われます。ロケールに依存した変換を行うには、QLocale::toULongLong() を使用してください。

QString::toULong()も参照してください 。

qulonglong QStringRef::toULongLong(bool *ok = nullptr, int base = 10) const

文字列を、基数base を使用してunsigned long long に変換した結果を返します。 のデフォルト値は 10 ですが、2 から 36 までの値、または 0 でなければなりません。変換に失敗した場合は 0 を返します。

ok がnullptr でない場合、失敗時は*ok をfalse に設定して報告し、成功時は*ok をtrue に設定して報告します。

base が0の場合、C言語の規約が使用されます。文字列が「0x」で始まる場合は16進数、文字列が「0」で始まる場合は8進数、それ以外の場合は10進数が使用されます。

文字列の変換は常に 'C' ロケールで行われます。ロケールに依存した変換を行うには、QLocale::toULongLong() を使用してください。

QString::toULongLong()も参照してください 。

ushort QStringRef::toUShort(bool *ok = nullptr, int base = 10) const

文字列を、基数base を使用してunsigned short に変換した値を返します。 のデフォルト値は10で、2から36までの値、または0でなければなりません。変換に失敗した場合は0を返します。

ok がnullptr でない場合、失敗時は*ok をfalse に設定して報告し、成功時は*ok をtrue に設定して報告します。

base が0の場合、C言語の規約が使用されます。文字列が「0x」で始まる場合は16進数、文字列が「0」で始まる場合は8進数、それ以外の場合は10進数が使用されます。

文字列の変換は常に 'C' ロケールで行われます。ロケール依存の変換を行うには、QLocale::toUShort() を使用してください。

QString::toUShort()も参照してください 。

QList<uint> QStringRef::toUcs4() const

文字列のUCS-4/UTF-32表現を、QList 型<uint>として返します。

UCS-4はUnicodeの符号化方式であるため、損失のない変換となります。この文字列に含まれるすべての文字はUCS-4で符号化されます。この文字列内の無効なコードユニットのシーケンスは、Unicodeの置換文字(QChar::ReplacementCharacter 、U+FFFD に相当)に置き換えられます。

返されるリストは、\0 で終了していません。

toUtf8()、toLatin1()、toLocal8Bit()、およびQStringEncoderも参照してください 。

QByteArray QStringRef::toUtf8() const

文字列のUTF-8表現をQByteArray として返します。

UTF-8はUnicodeの符号化方式であり、QString のようなUnicode文字列に含まれるすべての文字を表現できます。

toLatin1()、toLocal8Bit()、およびQStringEncoderも参照してください 。

QStringRef QStringRef::trimmed() const

先頭と末尾の空白文字が削除された文字列を返します。

空白とは、QChar::isSpace() がtrue を返す任意の文字を指します。これには、ASCII 文字の '\t'、'\n'、'\v'、'\f'、'\r'、および ' ' が含まれます。

QString::simplified() とは異なり、trimmed() は内部の空白文字はそのまま残します。

空白を削除した後、新しいposition()がint で表現できない場合、その挙動は未定義となります。

QString::trimmed()も参照してください 。

[noexcept] void QStringRef::truncate(int position)

指定されたposition のインデックスで文字列を切り詰めます。

指定されたposition のインデックスが文字列の末尾を超えている場合、何もしません。

position が負の値の場合、0を指定した場合と同じになります。

QString::truncate()も参照してください 。

const QChar *QStringRef::unicode() const

文字列参照のUnicode表現を返します。データは参照先の文字列から直接取得されるため、文字列参照にその文字列のヌル終端文字が含まれていない限り、\0'で終了することはありません。

string()も参照してください 。

[noexcept] bool QStringRef::operator!=(const char *s) const

s 型のconst charポインタは、fromUtf8()関数を使用してQStringRef 型に変換されます。

アプリケーションのコンパイル時にQT_NO_CAST_FROM_ASCII を定義することで、この演算子を無効にすることができます。これは、例えば、ユーザーに表示されるすべての文字列がQObject::tr()を経由するようにしたい場合などに役立ちます。

この文字列がパラメータ文字列s と字句的に等しくない場合、true を返します。それ以外の場合はfalse を返します。

この関数は、QStringRef::operator!=() をオーバーロードしています。

QT_NO_CAST_FROM_ASCIIも参照してください 。

[noexcept] bool QStringRef::operator<(const char *s) const

s 型のconst charポインタは、fromUtf8()関数を使用してQStringRef 型に変換されます。

アプリケーションのコンパイル時に `QT_NO_CAST_FROM_ASCII ` を定義することで、この演算子を無効にできます。これは、例えば、ユーザーに表示されるすべての文字列が `QObject::tr()` を経由するようにしたい場合などに役立ちます。

この文字列がパラメータの文字列s よりも字列的に小さい場合、true を返します。そうでない場合はfalse を返します。

この関数は `QStringRef::operator<()` をオーバーロードしています。

「QT_NO_CAST_FROM_ASCII」も参照してください 。

[noexcept] bool QStringRef::operator<=(const char *s) const

s 型のconst charポインタは、fromUtf8()関数を使用してQStringRef 型に変換されます。

アプリケーションのコンパイル時に `QT_NO_CAST_FROM_ASCII ` を定義することで、この演算子を無効にできます。これは、たとえば、ユーザーに表示されるすべての文字列が `QObject::tr()` を経由することを確実にしたい場合などに役立ちます。

この文字列がパラメータの文字列 `s` より辞書順で小さいか等しい場合、`true ` を返します。それ以外の場合は `false` を返します。

この関数は、QStringRef::operator<=() をオーバーロードします。

QT_NO_CAST_FROM_ASCIIも参照してください 。

QStringRef &QStringRef::operator=(const QString *string)

指定されたstring への文字列参照を構築し、それをこの文字列参照に代入して、その結果を返します。

警告: ` QStringRef `は 、その`size()`を表現するために`int `(32ビット)を使用します。Qt 6では、`QString `のサイズは`qsizetype`として表現され、64ビットビルドでは64ビットになります。入力のサイズが32ビットに収まることを確認してください。そうでない場合、the behavior is undefined となります。

[implicit] QStringRef &QStringRef::operator=(const QStringRef &other)

other という文字列参照をこの文字列参照に割り当て、その結果を返します。

[noexcept] bool QStringRef::operator==(const char *s) const

s のバイト配列は、fromUtf8()関数を使用してQStringRef に変換されます。この関数は、最初のNUL文字が見つかった時点、またはバイト配列の末尾に達した時点で変換を停止します。

アプリケーションのコンパイル時に `QT_NO_CAST_FROM_ASCII ` を定義することで、この演算子を無効にできます。これは、例えば、ユーザーに表示されるすべての文字列が `QObject::tr()` を経由するようにしたい場合などに役立ちます。

この文字列がパラメータ文字列 `s` と字句的に等しい場合、`true ` を返します。そうでない場合は `false` を返します。

この関数は `QStringRef::operator==()` をオーバーロードしています。

「QT_NO_CAST_FROM_ASCII」も参照してください 。

[noexcept] bool QStringRef::operator>(const char *s) const

s 型のconst charポインタは、fromUtf8()関数を使用してQStringRef 型に変換されます。

アプリケーションのコンパイル時に `QT_NO_CAST_FROM_ASCII ` を定義することで、この演算子を無効にすることができます。これは、例えば、ユーザーに表示されるすべての文字列を `QObject::tr()` 経由で処理させたい場合に役立ちます。

この文字列がパラメータの文字列s よりも字句的に大きい場合、true を返します。そうでない場合は、false を返します。

この関数は `QStringRef::operator>()` をオーバーロードしています。

「QT_NO_CAST_FROM_ASCII」も参照のこと 。

[noexcept] bool QStringRef::operator>=(const char *s) const

s 型のconst charポインタは、fromUtf8()関数を使用してQStringRef 型に変換されます。

アプリケーションのコンパイル時にQT_NO_CAST_FROM_ASCII を定義することで、この演算子を無効にすることができます。これは、例えば、ユーザーに表示されるすべての文字列がQObject::tr()を経由するようにしたい場合などに役立ちます。

この文字列がパラメータの文字列 `s` よりも辞書順で大きい、または等しい場合、`true ` を返します。それ以外の場合は `false` を返します。

この関数は、QStringRef::operator>=() をオーバーロードしています。

QT_NO_CAST_FROM_ASCIIも参照してください 。

QChar QStringRef::operator[](int position) const

文字列参照内の指定されたインデックスposition にある文字を返します。

position は、文字列参照内の有効なインデックス位置でなければなりません(つまり、0 <=position <size())。

at()も参照してください 。

関連する非メンバー

[noexcept] bool operator<(const QStringRef &s1, const QStringRef &s2)

文字列参照 `s1 ` が文字列参照 `s2` よりもレキシカルに小さい場合、true を返します。それ以外の場合は、false を返します。

Comparing Stringsも参照してください 。

[noexcept] bool operator<=(const QStringRef &s1, const QStringRef &s2)

文字列参照 `s1 ` が文字列参照 `s2` よりもレキシカルに小さいか等しい場合、true を返します。それ以外の場合は、false を返します。

Comparing Stringsも参照してください 。

[noexcept] bool operator==(QLatin1String s1, const QStringRef &s2)

文字列 `s1 ` が文字列参照 `s2` と辞書的に等しい場合、`true ` を返します。そうでない場合は、`false` を返します。

[noexcept] bool operator==(const QString &s1, const QStringRef &s2)

文字列 `s1 ` が文字列参照 `s2` と字句的に等しい場合、true を返します。そうでない場合は、false を返します。

[noexcept] bool operator==(const QStringRef &s1, const QStringRef &s2)

文字列参照 `s1 ` が文字列参照 `s2` とレキシカルに等しい場合は `true ` を返し、そうでない場合は `false` を返します。

[noexcept] bool operator>(const QStringRef &s1, const QStringRef &s2)

文字列参照 `s1 ` が文字列参照 `s2` よりもレキシカルに大きい場合、true を返します。そうでない場合は、false を返します。

Comparing Stringsも参照してください 。

[noexcept] bool operator>=(const QStringRef &s1, const QStringRef &s2)

文字列参照 `s1 ` が文字列参照 `s2` よりもレキシカルに大きい、または等しい場合は `true ` を返します。それ以外の場合は `false` を返します。

Comparing Stringsも参照してください 。

© 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.