このページでは

QUtf8StringView Class

QUtf8StringView クラスは、QString API の読み取り専用サブセットを用いて、UTF-8 文字列に対する統一されたビューを提供します。詳細...

ヘッダー: #include <QUtf8StringView>
CMake: find_package(Qt6 REQUIRED COMPONENTS Core)
target_link_libraries(mytarget PRIVATE Qt6::Core)
qmake: QT += core
以下のように: Qt 6.0

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

QUtf8StringView の比較

カテゴリ比較可能な型説明
strongQUtf8StringView
strongchar16_t、QChar 、const char16_t *、QString 、QStringView 、およびQLatin1StringView 。
strongconst char *、QByteArray 、およびQByteArrayView 。バイト配列の内容は UTF-8 として解釈されます。

パブリック型

パブリック関数

QUtf8StringView()
QUtf8StringView(const Char (&string)[N])
QUtf8StringView(const Char *str)
QUtf8StringView(const Container &str)
QUtf8StringView(std::nullptr_t)
QUtf8StringView(const Char *first, const Char *last)
QUtf8StringView(const Char *str, qsizetype len)
(since 6.9) QString arg(Args &&... args) const
QUtf8StringView::storage_type at(qsizetype n) const
QUtf8StringView::storage_type back() const
QUtf8StringView::const_iterator begin() const
QUtf8StringView::const_iterator cbegin() const
QUtf8StringView::const_iterator cend() const
void chop(qsizetype n)
QUtf8StringView chopped(qsizetype n) const
(since 6.5) int compare(QLatin1StringView str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
(since 6.5) int compare(QStringView str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
(since 6.5) int compare(QUtf8StringView str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
QUtf8StringView::const_reverse_iterator crbegin() const
QUtf8StringView::const_reverse_iterator crend() const
QUtf8StringView::const_pointer data() const
bool empty() const
QUtf8StringView::const_iterator end() const
QUtf8StringView first(qsizetype n) const
QUtf8StringView::storage_type front() const
bool isEmpty() const
bool isNull() const
(since 6.3) bool isValidUtf8() const
QUtf8StringView last(qsizetype n) const
qsizetype length() const
(since 6.8) qsizetype max_size() const
QUtf8StringView::const_reverse_iterator rbegin() const
QUtf8StringView::const_reverse_iterator rend() const
qsizetype size() const
(since 6.8) QUtf8StringView &slice(qsizetype pos, qsizetype n)
(since 6.8) QUtf8StringView &slice(qsizetype pos)
QUtf8StringView sliced(qsizetype pos) const
QUtf8StringView sliced(qsizetype pos, qsizetype n) const
QString toString() const
void truncate(qsizetype n)
const char8_t *utf8() const
(since 6.7) operator std::string_view() const
(since 6.10) operator std::u8string_view() const
QUtf8StringView::storage_type operator[](qsizetype n) const

静的パブリックメンバー

QUtf8StringView fromArray(const Char (&string)[Size])
(since 6.8) qsizetype maxSize()

詳細な説明

QUtf8StringView は、自身が所有していない UTF-8 文字列の連続した部分を参照します。これは、QString やQByteArray を事前に構築する必要なく、あらゆる種類の UTF-8 文字列に対するインターフェース型として機能します。

UTF-8 文字列は、char8_t 、char 、signed char 、またはunsigned char の配列(あるいは std::basic_string などの配列互換のデータ構造)として表現することができます。

QUtf8StringView はインターフェース型として設計されており、主な用途は関数の引数型として使用されることです。 QUtf8StringView を自動変数やデータメンバーとして使用する場合、すべてのコードパスにおいて、参照される文字列データ(たとえば、std::u8string が所有するデータ)が QUtf8StringView よりも長く存続するように注意する必要があります。そうしないと、文字列ビューが削除されたデータを参照してしまうことになります。

インターフェース型として使用する場合、QUtf8StringView により、1 つの関数が多種多様な UTF-8 文字列データソースを受け入れることが可能になります。 したがって、QUtf8StringViewを受け入れる1つの関数によって、複数の関数のオーバーロード(例えば、QByteArray )が置き換えられると同時に、u8"Hello World" 、char8_t (C++20)、char (C++17)などの文字列リテラルなど、さらに多くの文字列データソースをその関数に渡すことが可能になります。 QUtf8StringView を使用することで、C++17 と C++20 間のchar8_t に関する互換性の問題は解消されます。

他のビューと同様に、QUtf8StringViewはconst参照ではなく、値渡しで渡す必要があります:

    void myfun1(QUtf8StringView sv);        // preferred
    void myfun2(const QUtf8StringView &sv); // compiles and works, but slower

関数に渡せる文字列の種類についてユーザーに最大限の自由度を与えたい場合は、代わりにQAnyStringView の使用を検討してください。

QUtf8StringViewは、関数の戻り値としても使用できます。 QUtf8StringView を返す関数を呼び出す場合は、関数が参照する文字列データを保持すると約束している期間を超えて、QUtf8StringView を保持しないよう特に注意してください。不安がある場合は、toString() を呼び出して QUtf8StringView をQString に変換し、データへの強い参照を取得してください。

QUtf8StringView はリテラル型です。

互換性のある文字型

QUtf8StringView は、さまざまな文字型(

  • char (符号付きおよび符号なしの両方)
  • char8_t (C++20のみ)

サイズと部分文字列

QUtf8StringView の関数におけるすべてのサイズおよび位置は、UTF-8 コードポイントで指定されます(つまり、UTF-8 マルチバイトシーケンスは、その長さに応じて 2、3、または 4 としてカウントされます)。 QUtf8StringViewは、UTF-8マルチバイトシーケンスを横断するスライシングを検知したり防止したりしようとはしません。これは、QStringView とサロゲートペアの場合と同様です。

C++20、char8_t、および QUtf8StringView

C++20では、u8"" の文字列リテラルは、型がconst char[] からconst char8_t[] に変更されました。もしQt 6がC++20に依存できていたならば、QUtf8StringViewはchar8_t をネイティブに格納し、以下の関数およびエイリアスはchar8_t (またはそのポインタ)を使用していたでしょう:

これが Qt 7 における QUtf8StringView の想定される姿ですが、Qt 6 ではこれは実現できませんでした。今後 10 年間にわたりユーザーを C++17 時代のインターフェースに縛り付ける代わりに、Qt は異なる(インライン)ネームスペース内に 2 つの QUtf8StringView クラスを提供しています。 1つ目は、q_no_char8_t 名前空間にあり、value_type はconst char となっており、普遍的に利用可能です。2つ目は、q_has_char8_t 名前空間にあり、value_type はconst char8_t となっており、C++20 モードでコンパイルする場合にのみ利用可能です。

q_no_char8_t は、意図しないバイナリ互換性の問題を回避するため、C++のエディションに関係なくインラインネームスペースとして定義されています。char8_t 版を使用するには、q_has_char8_t::QUtf8StringView と明示的に指定する必要があります。

内部的には、どちらも同じテンプレートクラス `QBasicUtf8StringView` のインスタンス化です。ソースコード内でこのテンプレートクラスの名前を使用しないでください。

QAnyStringView 、QStringView 、QLatin1StringView 、およびQStringも参照してください 。

メンバ型のドキュメント

QUtf8StringView::const_iterator

このtypedefは、QUtf8StringView 用のSTLスタイルのconstイテレータを提供します。

iterator およびconst_reverse_iteratorも参照してください 。

QUtf8StringView::const_pointer

value_type * の別名です。STL との互換性を確保するために用意されています。

QUtf8StringView::const_reference

value_type & の別名です。STL との互換性を確保するために提供されています。

QUtf8StringView::const_reverse_iterator

このtypedefは、QUtf8StringView に対してSTLスタイルのconst逆方向イテレータを提供します。

reverse_iterator およびconst_iteratorも参照してください 。

QUtf8StringView::difference_type

std::ptrdiff_t の別名です。STL との互換性を確保するために提供されています。

QUtf8StringView::iterator

このtypedefは、QUtf8StringView に対してSTLスタイルのconstイテレータを提供します。

QUtf8StringView 可変イテレータはサポートされていないため、これは `const_iterator` と同等です。

const_iterator およびreverse_iteratorも参照してください 。

QUtf8StringView::pointer

value_type * の別名です。STL との互換性を確保するために提供されています。

QUtf8StringView 可変ポインタをサポートしていないため、これは `const_pointer` と同じです。

QUtf8StringView::reference

value_type & の別名です。STL との互換性を確保するために提供されています。

QUtf8StringView 可変参照をサポートしていないため、これは `const_reference` と同じです。

QUtf8StringView::reverse_iterator

このtypedefは、QUtf8StringView に対してSTLスタイルのconstリバースイテレータを提供します。

QUtf8StringView 可変逆イテレータはサポートされていないため、これは `const_reverse_iterator` と同じです。

const_reverse_iterator およびiteratorも参照してください 。

QUtf8StringView::size_type

qsizetype の別名です。STL との互換性を確保するために用意されています。

[alias] QUtf8StringView::storage_type

char の別名。

QUtf8StringView::value_type

const char の別名です。STL との互換性を確保するために提供されています。

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

[constexpr noexcept] QUtf8StringView::QUtf8StringView()

ヌル文字列ビューを作成します。

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

[constexpr noexcept] template <typename Char, size_t N> QUtf8StringView::QUtf8StringView(const Char (&string)[N])

文字列リテラル `string` に基づいて文字列ビューを構築します。このビューは、最初の `Char(0) ` または `N` のいずれか早い方が検出されるまで、配列をカバーします。配列全体が必要な場合は、代わりに `fromArray()` を使用してください。

string この文字列ビューオブジェクトの存続期間中、常に有効な状態を維持する必要があります。

制約

string が実際の配列であり、かつChar が互換性のある文字型である場合にのみ、オーバーロード解決の対象となります。互換性のある文字型は、char8_t 、char 、signed char 、およびunsigned char です。

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

[constexpr noexcept] template <typename Char> QUtf8StringView::QUtf8StringView(const Char *str)

str 上に文字列ビューを構築します。長さは、最初のChar(0) が検出されるまでスキャンすることで決定されます。

str この文字列ビューオブジェクトの存続期間中、有効であり続ける必要があります。

`nullptr `を`str `として渡しても安全であり、その結果、空の文字列ビューが生成されます。

制約

str が配列ではなく、かつChar が互換性のある文字型である場合にのみ、オーバーロードの解決に参加します。互換性のある文字型は、char8_t 、char 、signed char 、およびunsigned char です。

[constexpr noexcept] template <typename Container> requires if_compatible_container<Container> QUtf8StringView::QUtf8StringView(const Container &str)

str 上に文字列ビューを構築します。長さはstd::size(str) から取得されます。

std::data(str) この文字列ビューオブジェクトの存続期間中、有効であり続けなければならない。

std::size(str) == 0 の場合に限り、文字列ビューは空になります。このコンストラクタがヌル文字列ビューを生成する可能性があるかどうかは未定義です(その場合、std::data(str) はnullptr を返す必要があります)。

制約

Container がvalue_type と互換性のある文字型を持つコンテナである場合にのみ、オーバーロード解決の対象となります。互換性のある文字型は、char8_t 、char 、signed char 、およびunsigned char です。

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

[constexpr noexcept] QUtf8StringView::QUtf8StringView(std::nullptr_t)

ヌル文字列ビューを構築します。

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

[constexpr] template <typename Char> requires if_compatible_char<Char> QUtf8StringView::QUtf8StringView(const Char *first, const Char *last)

first 上で、長さが (last -first) の文字列ビューを構築します。

[first,last) の範囲は、この文字列ビューオブジェクトの存続期間中、有効なままである必要があります。

last がnullptr である場合、\nullptr をfirst として渡すことは安全であり、その結果、空の文字列ビューが生成されます。

last がfirst より前にある場合、またはfirst がnullptr であるのに対し、last がそうでない場合、その挙動は未定義となります。

制約

Char が互換性のある文字型である場合にのみ、オーバーロード解決の対象となります。互換性のある文字型は、char8_t 、char 、signed char 、およびunsigned char です。

[constexpr] template <typename Char> requires if_compatible_char<Char> QUtf8StringView::QUtf8StringView(const Char *str, qsizetype len)

str 上に、長さがlen の文字列ビューを作成します。

[str,len) の範囲は、この文字列ビューオブジェクトの存続期間中、有効なままである必要があります。

len も0である場合、nullptr をstr として渡すことは安全であり、その結果、nullの文字列ビューが生成されます。

len が負の値である場合、または正の値である場合にstr がnullptr である場合、その挙動は未定義となります。

制約

Char が互換性のある文字型である場合にのみ、オーバーロード解決の対象となる。互換性のある文字型は、char8_t 、char 、signed char 、およびunsigned char である。

[since 6.9] template <typename... Args> QString QUtf8StringView::arg(Args &&... args) const

この文字列中の「%N 」を、「args 」の対応する引数に置き換えます。引数は位置指定ではありません。args の最初の引数は、%N を最も低いN (すべて)に置き換え、args の2番目の引数は、%N を次に低いN に置き換える、というように続きます。

Args QAnyStringView へ暗黙的に変換可能なものであれば、どのようなものでも構成可能です。

この関数は Qt 6.9 で導入されました。

QString::arg(Args&&...)も参照してください 。

[constexpr] QUtf8StringView::storage_type QUtf8StringView::at(qsizetype n) const

この文字列ビューのn の位置にあるコードポイントを返します。

n が負の数である場合、またはsize() 以上でない場合、挙動は未定義となります。

operator[]()、front() およびback()も参照してください 。

[constexpr] QUtf8StringView::storage_type QUtf8StringView::back() const

文字列ビューの最後のコードポイントを返します。last() と同じ動作をします。

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

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

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

[noexcept] QUtf8StringView::const_iterator QUtf8StringView::begin() const

文字列ビューの最初のコードポイントを指す、STL スタイルのconstイテレータを返します。

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

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

[noexcept] QUtf8StringView::const_iterator QUtf8StringView::cbegin() const

begin() と同じです。

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

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

[noexcept] QUtf8StringView::const_iterator QUtf8StringView::cend() const

end() と同じです。

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

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

[constexpr] void QUtf8StringView::chop(qsizetype n)

この文字列ビューをn コードポイント分切り詰めます。

*this = first(size() - n) と同じ動作をします。

注: n < 0 またはn >size() の場合、動作は 未定義です。

関連項目: sliced()、first()、last()、chopped()、およびtruncate()。

[constexpr] QUtf8StringView QUtf8StringView::chopped(qsizetype n) const

このオブジェクトの先頭から、size() -n の範囲の部分文字列を返します。

first(size() - n) と同じです。

注: n < 0 またはn >size() の場合、動作は 未定義です。

関連項目: sliced()、first()、last()、chop()、truncate()、およびslice()。

[noexcept, since 6.5] int QUtf8StringView::compare(QLatin1StringView str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

[noexcept, since 6.5] int QUtf8StringView::compare(QStringView str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

[noexcept, since 6.5] int QUtf8StringView::compare(QUtf8StringView str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

この文字列ビューとstr を比較し、この文字列ビューがstr より小さい場合は負の整数を、str より大きい場合は正の整数を、等しい場合は0を返します。

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

これらの関数は Qt 6.5 で導入されました。

[noexcept] QUtf8StringView::const_reverse_iterator QUtf8StringView::crbegin() const

rbegin() と同じです。

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

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

[noexcept] QUtf8StringView::const_reverse_iterator QUtf8StringView::crend() const

rend() と同じです。

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

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

[constexpr noexcept] QUtf8StringView::const_pointer QUtf8StringView::data() const

文字列ビューの最初のコードポイントへのconstポインタを返します。

注: 戻り値によって表される文字配列は 、ヌル終端されていません。

関連項目: begin()、end()、およびutf8()。

[constexpr noexcept] bool QUtf8StringView::empty() const

この文字列ビューが空であるかどうか、つまりsize() == 0 であるかどうかを返します。

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

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

[noexcept] QUtf8StringView::const_iterator QUtf8StringView::end() const

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

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

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

[constexpr] QUtf8StringView QUtf8StringView::first(qsizetype n) const

この文字列ビューの最初のn 個のコードポイントを含む文字列ビューを返します。

注: n < 0 またはn >size() の場合、動作は 未定義です。

関連項目: last()、sliced()、chopped()、chop()、truncate()、およびslice()。

[static constexpr noexcept] template <typename Char, size_t Size> requires if_compatible_char<Char> QUtf8StringView QUtf8StringView::fromArray(const Char (&string)[Size])

Size 個の要素からなる完全な文字列リテラル `string ` に対して、末尾の `Char(0)` を含めて文字列ビューを構築します。ビューにヌル終端文字を含めたくない場合は、それが末尾にあると確実な時点で `chop()` を実行して除外することができます。 あるいは、配列リテラルを受け取るコンストラクタのオーバーロードを使用することもできます。これにより、データ内の最初のヌル終端文字まで(ただし、それ自体は含まない)のビューが作成されます。

string この文字列ビューオブジェクトの存続期間中、有効なままである必要があります。

Char が互換性のある文字型であれば、この関数はどの配列リテラルでも動作します。互換性のある文字型は、char8_t 、char 、signed char 、unsigned char です。

[constexpr] QUtf8StringView::storage_type QUtf8StringView::front() const

文字列ビューの最初のコードポイントを返します。first() と同じ動作をします。

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

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

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

[constexpr noexcept] bool QUtf8StringView::isEmpty() const

この文字列ビューが空であるかどうか、つまりsize() == 0 であるかどうかを返します。

この関数は、他の Qt コンテナとの互換性を確保するために提供されています。

empty()、isNull()、size()、およびlength()も参照してください 。

[constexpr noexcept] bool QUtf8StringView::isNull() const

この文字列ビューがnullであるかどうか、つまりdata() == nullptr であるかどうかを返します。

この関数は、他のQtコンテナとの互換性を確保するために提供されています。

empty()、isEmpty()、size()、およびlength()も参照してください 。

[noexcept, since 6.3] bool QUtf8StringView::isValidUtf8() const

この文字列に有効なUTF-8エンコードデータが含まれている場合はtrue を返し、そうでない場合はfalse を返します。

この関数は Qt 6.3 で導入されました。

[constexpr] QUtf8StringView QUtf8StringView::last(qsizetype n) const

この文字列ビューの最後のn 個のコードポイントを含む文字列ビューを返します。

注: n < 0 またはn >size() の場合、動作は 未定義です。

関連項目: first()、sliced()、chopped()、chop()、truncate()、およびslice()。

[constexpr noexcept] qsizetype QUtf8StringView::length() const

size() と同じです。

この関数は、他の Qt コンテナとの互換性を確保するために提供されています。

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

[static constexpr noexcept, since 6.8] qsizetype QUtf8StringView::maxSize()

この関数は、ビューが理論上表現可能な要素の最大数を返します。実際には、システムで利用可能なメモリ量によって制限されるため、その数ははるかに少なくなる場合があります。

この関数は Qt 6.8 で導入されました。

[constexpr noexcept, since 6.8] qsizetype QUtf8StringView::max_size() const

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

maxSize() を返します。

この関数は Qt 6.8 で導入されました。

[noexcept] QUtf8StringView::const_reverse_iterator QUtf8StringView::rbegin() const

文字列ビュー内の最初のコードポイントを逆順で指す、STL 形式のconst 逆イテレータを返します。

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

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

[noexcept] QUtf8StringView::const_reverse_iterator QUtf8StringView::rend() const

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

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

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

[constexpr noexcept] qsizetype QUtf8StringView::size() const

この文字列ビューのサイズを、UTF-8 コードポイント単位で返します(つまり、この関数では、マルチバイトシーケンスは 1 つ以上としてカウントされます。これは、QString およびQStringView におけるサロゲートペアの扱いと同じです)。

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

[constexpr, since 6.8] QUtf8StringView &QUtf8StringView::slice(qsizetype pos, qsizetype n)

この文字列ビューを、位置pos から開始し、n コードポイント分だけ延長するように変更します。

注: pos < 0、n < 0、またはpos +n >size() の場合、動作は 未定義です。

この関数は Qt 6.8 で導入されました。

sliced()、first()、last()、chopped()、chop()、およびtruncate()も参照してください 。

[constexpr, since 6.8] QUtf8StringView &QUtf8StringView::slice(qsizetype pos)

この文字列ビューを、位置pos から始まり、その終わりまで及ぶように変更します。

注: pos < 0 またはpos >size(の場合、挙動は 未定義です)。

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

この関数は Qt 6.8 で導入されました。

関連項目: sliced()、first()、last()、chopped()、chop()、およびtruncate()。

[constexpr] QUtf8StringView QUtf8StringView::sliced(qsizetype pos) const

このオブジェクトのpos の位置から始まり、その末尾まで続く文字列ビューを返します。

注: pos < 0 またはpos >size()の場合、動作は 未定義です。

関連項目: first()、last()、chopped()、chop()、truncate()、およびslice()。

[constexpr] QUtf8StringView QUtf8StringView::sliced(qsizetype pos, qsizetype n) const

この文字列ビューの、位置pos から始まる、n 個のコードポイントを含む文字列ビューを返します。

注: pos < 0、n < 0、またはpos +n >size() の場合、動作は 未定義です。

first()、last()、chopped()、chop()、truncate()、およびslice()も参照してください 。

QString QUtf8StringView::toString() const

この文字列ビューのデータのディープコピーを、QString として返します。

この文字列ビューがnullである場合に限り、戻り値はnullのQString となります。

[constexpr] void QUtf8StringView::truncate(qsizetype n)

この文字列ビューをn コードポイントに切り詰めます。

*this = first(n) と同じです。

注: n < 0 またはn >size() の場合、動作は 未定義です。

関連項目: sliced()、first()、last()、chopped()、およびchop()。

[noexcept] const char8_t *QUtf8StringView::utf8() const

文字列ビュー内の最初のコードポイントへのconstポインタを返します。

結果はconst char8_t* として返されるため、この関数はC++20モードでコンパイルする場合にのみ利用可能です。

注: 戻り値によって表される文字配列は 、ヌル終端されていません。

関連項目: begin()、end()、およびdata()。

[noexcept, since 6.7] QUtf8StringView::operator std::string_view() const

この `QUtf8StringView ` オブジェクトを `std::string_view ` オブジェクトに変換します。返されるビューは、このビューと同じデータポインタと長さを持つことになります。

この関数は Qt 6.7 で導入されました。

[noexcept, since 6.10] QUtf8StringView::operator std::u8string_view() const

この `QUtf8StringView ` オブジェクトを `std::u8string_view ` オブジェクトに変換します。返されるビューは、このビューと同じデータポインタと長さを持つことになります。

この関数は、C++20モードでコンパイルする場合にのみ利用可能です。

この関数は、Qt 6.10で導入されました。

[constexpr] QUtf8StringView::storage_type QUtf8StringView::operator[](qsizetype n) const

この文字列ビューのn の位置にあるコードポイントを返します。

n が負の値である場合、またはsize() 以上でない場合、動作は未定義となります。

at()、front()、およびback()も参照してください 。

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