QList Class
template <typename T> class QListQList クラスは、動的配列を提供するテンプレートクラスです。詳細...
| ヘッダー: | #include <QList> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Core) target_link_libraries(mytarget PRIVATE Qt6::Core) |
| qmake: | QT += core |
| 継承元: |
- 継承されたメンバーを含むすべてのメンバーの一覧
- 非推奨のメンバ
- QList は、コンテナクラスおよび暗黙的に共有されるクラスの一部です。
注:このクラスのすべての関数は再入可能です。
パブリック型
パブリック関数
| QList() | |
| QList(qsizetypesize) | |
| QList(std::initializer_list<T>args) | |
| QList(InputIteratorfirst, InputIteratorlast) | |
| QList(qsizetypesize, QList<T>::parameter_typevalue) | |
(since 6.8) | QList(qsizetypesize, Qt::Initialization) |
| QList(const QList<T>&other) | |
| QList(QList<T>&&other) | |
| ~QList() | |
| void | append(QList<T>::parameter_typevalue) |
(since 6.0) void | append(QList<T>&&value) |
| void | append(QList<T>::rvalue_refvalue) |
| void | append(const QList<T>&value) |
(since 6.6) QList<T> & | assign(std::initializer_list<T>l) |
(since 6.6) QList<T> & | assign(InputIteratorfirst, InputIteratorlast) |
(since 6.6) QList<T> & | assign(qsizetypen, QList<T>::parameter_typet) |
| QList<T>::const_reference | at(qsizetypei) const |
| QList<T>::reference | back() |
| QList<T>::const_reference | back() const |
| QList<T>::iterator | begin() |
| QList<T>::const_iterator | begin() const |
| qsizetype | capacity() const |
| QList<T>::const_iterator | cbegin() const |
| QList<T>::const_iterator | cend() const |
| void | clear() |
| QList<T>::const_iterator | constBegin() const |
| QList<T>::const_pointer | constData() const |
| QList<T>::const_iterator | constEnd() const |
| const T & | constFirst() const |
| const T & | constLast() const |
| bool | contains(const AT&value) const |
| qsizetype | count(const AT&value) const |
| qsizetype | count() const |
| QList<T>::const_reverse_iterator | crbegin() const |
| QList<T>::const_reverse_iterator | crend() const |
| QList<T>::pointer | data() |
| QList<T>::const_pointer | data() const |
| void | detach() |
| QList<T>::iterator | emplace(qsizetypei, Args &&...args) |
| QList<T>::iterator | emplace(QList<T>::const_iteratorbefore, Args &&...args) |
| QList<T>::reference | emplaceBack(Args &&...args) |
| QList<T>::reference | emplace_back(Args &&...args) |
| bool | empty() const |
| QList<T>::iterator | end() |
| QList<T>::const_iterator | end() const |
| bool | endsWith(QList<T>::parameter_typevalue) const |
| QList<T>::iterator | erase(QList<T>::const_iteratorpos) |
| QList<T>::iterator | erase(QList<T>::const_iteratorbegin, QList<T>::const_iteratorend) |
| QList<T> & | fill(QList<T>::parameter_typevalue, qsizetypesize= -1) |
| T & | first() |
(since 6.0) QList<T> | first(qsizetypen) const |
| const T & | first() const |
| QList<T>::reference | front() |
| QList<T>::const_reference | front() const |
| qsizetype | indexOf(const AT&value, qsizetypefrom= 0) const |
| QList<T>::iterator | insert(qsizetypei, QList<T>::parameter_typevalue) |
| QList<T>::iterator | insert(qsizetypei, QList<T>::rvalue_refvalue) |
| QList<T>::iterator | insert(QList<T>::const_iteratorbefore, qsizetypecount, QList<T>::parameter_typevalue) |
| QList<T>::iterator | insert(QList<T>::const_iteratorbefore, QList<T>::parameter_typevalue) |
| QList<T>::iterator | insert(QList<T>::const_iteratorbefore, QList<T>::rvalue_refvalue) |
| QList<T>::iterator | insert(qsizetypei, qsizetypecount, QList<T>::parameter_typevalue) |
| bool | isEmpty() const |
| T & | last() |
(since 6.0) QList<T> | last(qsizetypen) const |
| const T & | last() const |
| qsizetype | lastIndexOf(const AT&value, qsizetypefrom= -1) const |
| qsizetype | length() const |
(since 6.8) qsizetype | max_size() const |
| QList<T> | mid(qsizetypepos, qsizetypelength= -1) const |
| void | move(qsizetypefrom, qsizetypeto) |
| void | pop_back() |
| void | pop_front() |
| void | prepend(QList<T>::parameter_typevalue) |
| void | prepend(QList<T>::rvalue_refvalue) |
| void | push_back(QList<T>::parameter_typevalue) |
| void | push_back(QList<T>::rvalue_refvalue) |
| void | push_front(QList<T>::parameter_typevalue) |
| void | push_front(QList<T>::rvalue_refvalue) |
| QList<T>::reverse_iterator | rbegin() |
| QList<T>::const_reverse_iterator | rbegin() const |
| void | remove(qsizetypei, qsizetypen= 1) |
| qsizetype | removeAll(const AT&t) |
| void | removeAt(qsizetypei) |
| void | removeFirst() |
(since 6.1) qsizetype | removeIf(述語pred) |
| void | removeLast() |
| bool | removeOne(const AT&t) |
| QList<T>::reverse_iterator | rend() |
| QList<T>::const_reverse_iterator | rend() const |
| void | replace(qsizetypei, QList<T>::parameter_typevalue) |
| void | replace(qsizetypei, QList<T>::rvalue_refvalue) |
| void | reserve(qsizetypesize) |
(since 6.0) void | resize(qsizetypesize) |
(since 6.0) void | resize(qsizetypesize, QList<T>::parameter_typec) |
(since 6.8) void | resizeForOverwrite(qsizetypesize) |
| void | shrink_to_fit() |
| qsizetype | size() const |
(since 6.0) QList<T> | sliced(qsizetypepos, qsizetypen) const |
(since 6.0) QList<T> | sliced(qsizetypepos) const |
| void | squeeze() |
| bool | startsWith(QList<T>::parameter_typevalue) const |
| void | swap(QList<T>&other) |
| void | swapItemsAt(qsizetypei, qsizetypej) |
| T | takeAt(qsizetypei) |
| QList<T>::value_type | takeFirst() |
| QList<T>::value_type() | takeLast() |
| T | value(qsizetypei) const |
| T | value(qsizetypei, QList<T>::parameter_typedefaultValue) const |
| bool | operator!=(const QList<T>&other) const |
| QList<T> | operator+(QList<T>&&other) && |
| QList<T> | operator+(const QList<T>&other) && |
| QList<T> | operator+(QList<T>&&other) const & |
| QList<T> | operator+(const QList<T>&other) const & |
| QList<T> & | operator+=(const QList<T>&other) |
(since 6.0) QList<T> & | operator+=(QList<T>&&other) |
| QList<T> & | operator+=(QList<T>::parameter_typevalue) |
| QList<T> & | operator+=(QList<T>::rvalue_refvalue) |
| bool | operator<(const QList<T>&other) const |
| QList<T> & | operator<<(QList<T>::parameter_typevalue) |
| QList<T> & | operator<<(const QList<T>&other) |
(since 6.0) QList<T> & | operator<<(QList<T>&&other) |
| QList<T> & | operator<<(QList<T>::rvalue_refvalue) |
| bool | operator<=(const QList<T>&other) const |
| QList<T> & | operator=(QList<T>&&other) |
| QList<T> & | operator=(const QList<T>&other) |
| QList<T> & | operator=(std::initializer_list<T>args) |
| bool | operator==(const QList<T>&other) const |
| bool | operator>(const QList<T>&other) const |
| bool | operator>=bool(const QList<T>&other) const |
| QList<T>::reference | operator[](qsizetypei) |
| QList<T>::const_reference | operator[](qsizetypei) const |
静的パブリックメンバー
(since 6.8) qsizetype | maxSize() |
関連する非メンバー
(since 6.1) qsizetype | erase(QList<T> &list, const AT &t) |
(since 6.1) qsizetype | erase_if(QList<T> &list, Predicate pred) |
| size_t | qHash(const QList<T> &key, size_t seed = 0) |
| QDataStream & | operator<<(QDataStream &out, const QList<T> &list) |
(since 6.9) auto | operator<=>(const QList<T> &lhs, const QList<T> &rhs) |
| QDataStream & | operator>>(QDataStream &in, QList<T> &list) |
詳細な説明
QList<T> は Qtのジェネリックコンテナクラスの 1つであり、T はリストに格納される要素の型を指定します。このクラスは、項目を隣接するメモリ位置に格納し、インデックスに基づく高速なアクセスを提供します。QVector<T> は Qt 5 では別のクラスでしたが、現在は QList への単純なエイリアスとなっています。
QList<T> とQVarLengthArray<T> は、同様の API と機能を提供します。多くの場合、これらは互換性がありますが、パフォーマンス上の違いが生じます。以下に、使用例の概要を示します。
- QListをデフォルトの第一候補として選択すべきです。
- QVarLengthArray スタック上に領域を確保する配列を提供しますが、必要に応じてヒープ上に動的に拡張することができます。通常はサイズが小さく、寿命の短いコンテナに使用するのに適しています。
- リストの中間への挿入が定数時間で保証され、インデックスではなくイテレータを使用して要素にアクセスする、真の連結リストが必要な場合は、std::listを使用してください。
注:QList とQVarLengthArray はどちらも、C互換の配列レイアウトを保証しています。
注: Qt 5 におけるQList は 、必ずしも C 互換の配列レイアウトを備えていたわけではなく、より予測可能なパフォーマンスを得るために、代わりにQVector を使用することを推奨することがよくありました。しかし、Qt 6 ではこの状況は変わっており、両クラスは現在同じ実装を共有しており、互換性を持って使用できます。
以下に、整数を格納するQListと、QString の値を格納するQListの例を示します:
QList は、連続したメモリ領域の配列に項目を格納します。通常、リストは初期サイズを指定して作成されます。たとえば、次のコードは 200 個の要素を持つ QList を生成します:
要素はデフォルトコンストラクタによる値で自動的に初期化されます。リストを別の値で初期化したい場合は、その値をコンストラクタの 2 番目の引数として渡します:
また、fill() をいつでも呼び出して、リストに値を格納することもできます。
QListは、C++の配列と同様に0を起点とするインデックスを使用します。特定のインデックス位置にある項目にアクセスするには、operator[]()を使用できます。非constリストの場合、operator[]()は項目の参照を返し、その参照を代入文の左辺で使用できます:
if (list[0] == "Liz")
list[0] = "Elizabeth";読み取り専用アクセスについては、at() を使用するという別の構文もあります:
for (qsizetype i = 0; i < list.size(); ++i) {
if (list.at(i) == "Alfonso")
cout << "Found Alfonso at position " << i << endl;
}at()は、ディープコピーが発生しないため、operator[]()よりも高速な場合があります。
QListに格納されたデータにアクセスするもう1つの方法は、data()を呼び出すことです。この関数は、リストの最初の項目へのポインタを返します。このポインタを使用すると、リストに格納された要素に直接アクセスして変更することができます。また、単純なC++配列を受け入れる関数にQListを渡す必要がある場合にも、このポインタは役立ちます。
リスト内の特定の値がどこに存在するかをすべて調べたい場合は、indexOf() またはlastIndexOf() を使用します。前者は指定されたインデックス位置から前方へ検索し、後者は後方へ検索します。どちらも一致する項目が見つかった場合はそのインデックスを返し、見つからない場合は -1 を返します。例えば:
qsizetype i = list.indexOf("Harumi");
if (i != -1)
cout << "First occurrence of Harumi is at position " << i << endl;単にリストに特定の値が含まれているかどうかを確認したい場合は、contains() を使用します。リスト内で特定の値が何回出現するかを調べたい場合は、count() を使用します。
QList には、要素の追加、移動、削除を行うための以下の基本関数が用意されています:insert()、replace()、remove()、prepend()、append()。append()、prepend()、replace() を除き、これらの関数は、リスト内の多くの要素をメモリ上で 1 位置ずつ移動させる必要があるため、大規模なリストでは処理速度が遅くなる(線形時間)可能性があります。 リストの中間への高速な挿入・削除を可能にするコンテナクラスが必要な場合は、代わりに std::list を使用してください。
通常の C++ 配列とは異なり、QList は `resize()` を呼び出すことでいつでもサイズを変更できます。新しいサイズが以前のサイズよりも大きい場合、QList はリスト全体を再割り当てする必要があるかもしれません。QList は、実際のデータに必要なメモリの最大 2 倍までを事前に割り当てることで、再割り当ての回数を減らそうとします。
QListを徐々に構築していて、含まれる要素の数があらかじめおおよそ分かっている場合は、reserve()を呼び出して、QListに一定量のメモリを事前割り当てさせることができます。また、capacity()を呼び出すことで、QListが実際に割り当てているメモリ量を確認することもできます。
なお、非constの演算子や関数を使用すると、暗黙的な共有により、QListがデータのディープコピーを行う可能性があることに注意してください。
QListの値型は、代入可能なデータ型でなければなりません。 これは一般的に使用されるほとんどのデータ型を網羅していますが、たとえば、QWidget を値として格納することはコンパイラによって許可されません。その代わりに、QWidget *を格納してください。いくつかの関数には追加の要件があります。たとえば、indexOf() やlastIndexOf() は、値型がoperator==() をサポートしていることを前提としています。これらの要件は関数ごとに文書化されています。
項目の反復処理については、「コンテナの反復処理」を参照してください。std::sort() 、std::reverse() 、std::count_if() など、<algorithm> ヘッダーに含まれる関数とQListを併用する場合は、「Qtコンテナとstdアルゴリズム」を参照してください。qJoin() やqDeleteAll() など、Qt独自のジェネリックアルゴリズムとQListを併用する場合は、「<QtAlgorithms> 」を参照してください。
QListに加え、QtではQVarLengthArray も提供しています。これは機能は最小限ですが、速度が最適化された非常に低レベルのクラスです。
Qt コンテナの使用に関する詳細情報
Qt コンテナ同士、および STL コンテナとの比較に関する詳細な説明については、「Qt コンテナの理解」を参照してください。
最大サイズとメモリ不足の状態
QList の最大サイズはアーキテクチャによって異なります。ほとんどの 64 ビットシステムでは 2 GB 以上のメモリを割り当てることができ、一般的な上限は 2^63 バイトです。実際の値は、データブロックの管理に必要なオーバーヘッドにも依存します。 その結果、32ビットプラットフォームでは最大サイズが2 GBからオーバーヘッドを差し引いた値、64ビットプラットフォームでは2^63バイトからオーバーヘッドを差し引いた値になると予想されます。QListに格納できる要素数は、この最大サイズを格納される要素のサイズで割った値になります。
メモリの割り当てに失敗した場合、QListはQ_CHECK_PTR マクロを使用します。アプリケーションが例外処理をサポートするようにコンパイルされている場合、このマクロはstd::bad_alloc 例外をスローします。例外が無効になっている場合、メモリ不足は未定義の挙動となります。
なお、オペレーティングシステムによっては、大量の割り当てメモリ(特に、大規模な連続したブロック)を保持するアプリケーションに対して、さらなる制限を課す場合があります。このような考慮事項、その動作の設定、および緩和策については、Qt APIの範囲外となります。
メンバ型のドキュメント
[alias] QList::ConstIterator
QList::const_iterator の Qt スタイルの同義語。
[alias] QList::Iterator
QList::iterator の Qt スタイルの同義語。
[alias] QList::const_pointer
STLとの互換性を確保するために用意されています。
[alias] QList::const_reference
STLとの互換性を確保するために用意されています。
[alias] QList::const_reverse_iterator
QList::const_reverse_iterator 型定義は、QList に対して STL スタイルの const 逆イテレータを提供します。
警告: 暗黙的に共有されるコンテナ上のイテレータは 、STLイテレータとまったく同じように動作するわけではありません。コンテナ上でイテレータがアクティブな間は、そのコンテナのコピーを行うことを避けるべきです。詳細については、「暗黙的な共有によるイテレータの問題」を参照してください。
警告: QList が変更されると、イテレータ は無効になります。デフォルトでは、すべてのイテレータが無効になるものと考えてください。この規則の例外については、明示的に文書化されています。
関連項目: QList::rbegin()、QList::rend()、QList::reverse_iterator 、およびQList::const_iterator 。
[alias] QList::difference_type
STLとの互換性を確保するために用意されています。
[alias] QList::parameter_type
[alias] QList::pointer
STLとの互換性を確保するために用意されています。
[alias] QList::reference
STLとの互換性を確保するために用意されています。
[alias] QList::reverse_iterator
QList::reverse_iterator の typedef は、QList に対して、STL スタイルの非 const 逆方向イテレータを提供します。
警告: 暗黙的に共有されるコンテナ上のイテレータは 、STLイテレータとまったく同じように動作するわけではありません。そのコンテナ上でイテレータがアクティブな間は、コンテナのコピーを避けるべきです。詳細については、「暗黙的な共有によるイテレータの問題」を参照してください。
警告: QList が変更されると、イテレータ は無効になります。デフォルトではすべてのイテレータが無効になることを想定してください。この規則の例外については、明示的に文書化されています。
関連項目: ` QList::rbegin()`、`QList::rend()`、`QList::const_reverse_iterator`、および `QList::iterator`。
[alias] QList::rvalue_ref
[alias] QList::size_type
STLとの互換性を確保するために用意されています。
[alias] QList::value_type
STLとの互換性を確保するために用意されています。
メンバ関数のドキュメント
[constexpr noexcept default] QList::QList()
空のリストを作成します。
resize()も参照してください 。
[explicit] QList::QList(qsizetype size)
初期サイズがsize 個の要素を持つリストを作成します。
要素はデフォルトの初期化値で初期化されます。
resize()も参照してください 。
QList::QList(std::initializer_list<T> args)
args で指定された std::initializer_list からリストを構築します。
template <typename InputIterator, QList<T>::if_input_iterator<InputIterator> = true> QList::QList(InputIterator first, InputIterator last)
イテレータの範囲 [first,last) 内の要素を含むリストを作成します。
InputIterator の値型は、T に変換可能でなければなりません。
制約
InputIterator がLegacyInputIterator の要件を満たしている場合にのみ、オーバーロード解決の対象となります。
QList::QList(qsizetype size, QList<T>::parameter_type value)
初期サイズがsize 個の要素を持つリストを作成します。各要素はvalue で初期化されます。
[since 6.8] QList::QList(qsizetype size, Qt::Initialization)
初期サイズがsize 個の要素を持つリストを作成します。
QListは、要素を初期化しないよう試みます。
具体的には:
TにQt::Uninitializedを受け入れるコンストラクタが存在する場合、そのコンストラクタを使用して要素を初期化します。- そうでない場合、各要素はデフォルトコンストラクタによって初期化されます。簡単に構築可能な型(
int、floatなど)の場合、これは要素を初期化しないことと同等です。
この関数は Qt 6.8 で導入されました。
resizeForOverwrite()も参照してください 。
[implicit] QList::QList(const QList<T> &other)
other のコピーを作成します。
QListは暗黙的に共有されているため、この操作は定数時間で行われます。これにより、関数からQListを返す処理は非常に高速になります。共有されているインスタンスが変更された場合、そのインスタンスはコピーされます(コピー・オン・ライト)が、これには線形時間がかかります。
operator=()も参照してください 。
[implicit] QList::QList(QList<T> &&other)
QListのインスタンスをムーブコンストラクタで生成し、other が指していたのと同じオブジェクトを指すようにします。
[implicit] QList::~QList()
リストを削除します。
void QList::append(QList<T>::parameter_type value)
リストの最後に「value 」を追加します。
例:
QList<QString> list;
list.append("one");
list.append("two");
QString three = "three";
list.append(three);
// list: ["one", "two", "three"]
// three: "three"これは、resize(size() + 1) を呼び出し、リストの新しい最後の要素にvalue を代入するのと同じです。
QList は通常、必要以上のメモリを割り当てているため、毎回リスト全体を再割り当てすることなく拡張できることから、この操作は比較的高速です。
operator<<()、prepend()、およびinsert()も参照してください 。
[since 6.0] void QList::append(QList<T> &&value)
value リストの項目を、このリストの末尾に移動します。
これはオーバーロードされた関数です。
この関数は Qt 6.0 で導入されました。
operator<<() およびoperator+=()も参照してください 。
void QList::append(QList<T>::rvalue_ref value)
例:
QList<QString> list;
list.append("one");
list.append("two");
QString three = "three";
list.append(std::move(three));
// list: ["one", "two", "three"]
// three: ""これはオーバーロードされた関数です。
void QList::append(const QList<T> &value)
value リストの項目を、このリストに追加します。
これはオーバーロードされた関数です。
operator<<() およびoperator+=()も参照してください 。
[since 6.6] QList<T> &QList::assign(std::initializer_list<T> l)
このリストの内容を、l の要素のコピーに置き換えます。
このリストのサイズは、l 内の要素数と同じになります。
この関数は、l 内の要素数がこのリストの容量を超える場合、またはこのリストが共有されている場合にのみ、メモリを割り当てます。
この関数は Qt 6.6 で導入されました。
[since 6.6] template <typename InputIterator, QList<T>::if_input_iterator<InputIterator> = true> QList<T> &QList::assign(InputIterator first, InputIterator last)
このリストの内容を、イテレータの範囲 [first,last) 内の要素のコピーで置き換えます。
このリストのサイズは、範囲 [first,last) 内の要素数と同じになります。
この関数は、範囲内の要素数がこのリストの容量を超える場合、またはこのリストが共有されている場合にのみ、メモリを割り当てます。
注: いずれかの引数が *this へのイテレータである場合、振る舞いは 未定義となります。
制約
InputIterator がLegacyInputIterator の要件を満たしている場合にのみ、オーバーロードの解決に関与します。
この関数は Qt 6.6 で導入されました。
[since 6.6] QList<T> &QList::assign(qsizetype n, QList<T>::parameter_type t)
このリストの内容を、t のn 個のコピーに置き換えます。
このリストのサイズはn と同じになります。
n がリストの容量を超える場合、またはこのリストが共有されている場合にのみ、この関数はメモリを割り当てます。
この関数は Qt 6.6 で導入されました。
[noexcept] QList<T>::const_reference QList::at(qsizetype i) const
リスト内のインデックス位置i にある項目を返します。
i i は、リスト内の有効なインデックス位置でなければなりません(つまり、0 <= < ())。size
value() およびoperator[]()も参照してください 。
QList<T>::reference QList::back()
この関数は、STLとの互換性を確保するために提供されています。これは、last() と同等です。
[noexcept] QList<T>::const_reference QList::back() const
これはオーバーロードされた関数です。
QList<T>::iterator QList::begin()
リストの最初の要素を指すSTL形式のイテレータを返します。
警告: 返されたイテレータは 、リストから切り離された場合、またはQList が変更された場合に無効になります。
関連項目: constBegin() およびend()。
[noexcept] QList<T>::const_iterator QList::begin() const
これはオーバーロードされた関数です。
qsizetype QList::capacity() const
再割り当てを強制せずにリストに格納できる項目の最大数を返します。
この関数の唯一の目的は、QList のメモリ使用量を微調整する手段を提供することです。一般的に、この関数を呼び出す必要はほとんどありません。リスト内の項目数を知りたい場合は、size()を呼び出してください。
注: 静的に割り当てられたリストは 、空でなくても容量が 0 と報告されます。
警告: 割り当てられたメモリブロック内の空き領域の位置は 未定義です。つまり、空きメモリが常にリストの末尾にあると想定してはなりません。末尾に十分な空き領域があることを確認するには、reserve() を呼び出してください。
[noexcept] QList<T>::const_iterator QList::cbegin() const
リストの最初の要素を指す、STL スタイルのconstイテレータを返します。
警告: 返されたイテレータは 、リストから切り離された場合、またはQList が変更された場合に無効になります。
[noexcept] QList<T>::const_iterator QList::cend() const
リストの最後の要素の直後に位置する、STL スタイルのconstイテレータを返します。
警告: 返されたイテレータは 、リストから切り離された場合、または `QList ` が変更された場合に無効になります。
void QList::clear()
リストからすべての要素を削除します。
このリストが共有されていない場合、capacity() は保持されます。余分な容量を解放するには、squeeze() を使用してください。
注: Qt 5.7以前のバージョン(QVector の場合)および6.0以前のバージョン(QList の場合)では 、この関数は容量を維持するのではなく、リストが使用していたメモリを解放していました。
[noexcept] QList<T>::const_iterator QList::constBegin() const
リストの最初の要素を指す、STL スタイルのconstイテレータを返します。
警告: 返されたイテレータは 、リストから切り離された場合、またはQList が変更された場合に無効になります。
[noexcept] QList<T>::const_pointer QList::constData() const
リストに格納されているデータへのconstポインタを返します。このポインタを使用して、リスト内の項目にアクセスできます。
警告:この ポインタは 、リストから切り離された場合、またはQList が変更された場合に無効になります。
この関数は、主に、通常のC++配列を受け取る関数にリストを渡す際に役立ちます。
関連項目: data() およびoperator[]()。
[noexcept] QList<T>::const_iterator QList::constEnd() const
リストの最後の要素の直後を指す、STL スタイルのconstイテレータを返します。
警告: 返されたイテレータは 、リストから切り離された場合、またはQList が変更された場合に無効になります。
関連項目: constBegin() およびend()。
[noexcept] const T &QList::constFirst() const
リストの最初の要素へのconst参照を返します。この関数は、リストが空ではないことを前提としています。
constLast()、isEmpty()、およびfirst()も参照してください 。
[noexcept] const T &QList::constLast() const
リストの最後の要素へのconst参照を返します。この関数は、リストが空ではないことを前提としています。
constFirst()、isEmpty()、およびlast()も参照してください 。
[noexcept] template <typename AT> bool QList::contains(const AT &value) const
リストに `value` が含まれている場合は `true ` を返し、そうでない場合は `false` を返します。
この関数を使用するには、値型が `operator==()` の実装を持っている必要があります。
indexOf() およびcount()も参照してください 。
[noexcept] template <typename AT = T> qsizetype QList::count(const AT &value) const
リスト内の `value ` の出現回数を返します。
この関数を使用するには、値型が `operator==()` の実装を備えている必要があります。
contains() およびindexOf()も参照してください 。
[constexpr noexcept] qsizetype QList::count() const
size() と同じです。
これはオーバーロードされた関数です。
[noexcept] QList<T>::const_reverse_iterator QList::crbegin() const
リストの最初の要素を逆順で指す、STL スタイルのconst 逆イテレータを返します。
警告: 返されたイテレータは 、リストから切り離された場合、またはQList が変更された場合に無効になります。
関連項目: begin()、rbegin()、rend()も参照してください 。
[noexcept] QList<T>::const_reverse_iterator QList::crend() const
リストの最後の要素の直後を指す、STL 形式のconst リバースイテレータを、逆順で返します。
警告: 返されたイテレータは 、切り離された場合、またはQList が変更された場合に無効化されます。
関連項目: ` end()`、`rend()`、および `rbegin()`。
QList<T>::pointer QList::data()
リストに格納されているデータへのポインタを返します。このポインタを使用すると、リスト内の項目にアクセスしたり、変更したりすることができます。
例:
QList<int> list(10);
int *data = list.data();
for (qsizetype i = 0; i < 10; ++i)
data[i] = 2 * i;警告: リストから切り離された場合、またはQList が変更された場合、この ポインタは無効になります。
この関数は、主に、通常のC++配列を受け取る関数にリストを渡す際に役立ちます。
関連項目: ` constData()` および `operator[]()`。
[noexcept] QList<T>::const_pointer QList::data() const
これはオーバーロードされた関数です。
void QList::detach()
このQList のデータが、他のインスタンスと共有されなくなるようにします。
template <typename... Args> QList<T>::iterator QList::emplace(qsizetype i, Args &&... args)
位置i に新しい要素を挿入して、コンテナを拡張します。この新しい要素は、args を構築引数として使用して、その場で構築されます。
新しい要素へのイテレータを返します。
例:
注: 要素は先頭でその場で作成されることが保証されていますが 、それ以降はコピーされたり、適切な位置に移動されたりする可能性があります。
emplaceBackも参照してください 。
template <typename... Args> QList<T>::iterator QList::emplace(QList<T>::const_iterator before, Args &&... args)
イテレータ `before` が指す項目の前に、新しい要素を作成します。この新しい要素は、args を構築引数として使用して、その場で構築されます。
新しい要素へのイテレータを返します。
これはオーバーロードされた関数です。
template <typename... Args> QList<T>::reference QList::emplaceBack(Args &&... args)
template <typename... Args> QList<T>::reference QList::emplace_back(Args &&... args)
コンテナの末尾に新しい要素を追加します。この新しい要素は、args を構築引数として使用して、その場(インプレース)で構築されます。
新しい要素への参照を返します。
例:
QList<QString>list{"one", "two"};
list.emplaceBack(3, 'a');
qDebug() << list;
// リスト: ["one", "two", "aaa"]また、返された参照を使用して、新しく作成されたオブジェクトにアクセスすることも可能です:
これは、list.emplace(list.size(),args) と同じです。
emplaceも参照してください 。
[noexcept] bool QList::empty() const
この関数は、STLとの互換性を確保するために提供されています。これはisEmpty()と同等であり、リストが空の場合はtrue を返し、それ以外の場合はfalse を返します。
QList<T>::iterator QList::end()
リストの最後の要素の直後を指すSTL形式のイテレータを返します。
警告: 返されたイテレータは 、リストから切り離された場合、またはQList が変更された場合に無効になります。
[noexcept] QList<T>::const_iterator QList::end() const
これはオーバーロードされた関数です。
bool QList::endsWith(QList<T>::parameter_type value) const
このリストが空ではなく、その最後の要素が `value` と等しい場合、`true ` を返します。それ以外の場合は `false` を返します。
isEmpty() およびlast()も参照してください 。
QList<T>::iterator QList::erase(QList<T>::const_iterator pos)
イテレータ `pos ` が指す要素をリストから削除し、リスト内の次の要素へのイテレータを返します(`end()` となる場合もあります)。
要素の削除後もリストの容量は維持され、割り当てられたメモリ量は減りません。余分な容量を削減し、可能な限り多くのメモリを解放するには、squeeze() を呼び出してください。
注: QList が暗黙的に共有されていない場合 、この関数は指定された位置以降にあるイテレータのみを無効にします。
QList<T>::iterator QList::erase(QList<T>::const_iterator begin, QList<T>::const_iterator end)
begin からend までのすべての要素を削除します( 自体は削除されません)。呼び出し前にend が参照していたのと同じ要素へのイテレータを返します。
要素の削除後もリストの容量は維持され、割り当てられたメモリ量は減りません。余分な容量を削減し、可能な限り多くのメモリを解放するには、squeeze() を呼び出してください。
注: QList が暗黙的に共有されていない場合 、この関数は指定された位置以降にあるイテレータのみを無効にします。
これはオーバーロードされた関数です。
QList<T> &QList::fill(QList<T>::parameter_type value, qsizetype size = -1)
リスト内のすべての項目に `value ` を割り当てます。size が -1(デフォルト)以外の場合、事前にリストのサイズを `size ` に変更します。
例:
QList<QString> list(3);
list.fill("Yes");
// list: ["Yes", "Yes", "Yes"]
list.fill("oh", 5);
// list: ["oh", "oh", "oh", "oh", "oh"]resize()も参照してください 。
T &QList::first()
リストの最初の項目への参照を返します。この関数は、リストが空ではないことを前提としています。
last()、isEmpty()、およびconstFirst()も参照してください 。
[since 6.0] QList<T> QList::first(qsizetype n) const
このリストの最初のn 個の要素を含む部分リストを返します。
注: n < 0 またはn >size() の場合、動作は 未定義となります。
この関数は Qt 6.0 で導入されました。
[noexcept] const T &QList::first() const
これはオーバーロードされた関数です。
QList<T>::reference QList::front()
この関数は、STLとの互換性を確保するために提供されています。これは、first() と同等です。
[noexcept] QList<T>::const_reference QList::front() const
これはオーバーロードされた関数です。
[noexcept] template <typename AT> qsizetype QList::indexOf(const AT &value, qsizetype from = 0) const
リスト内の「value 」が最初に現れる位置を、インデックス位置from から順方向に検索して返します。一致する項目がない場合は-1を返します。
例:
QList<QString> list{"A", "B", "C", "B", "A"};
list.indexOf("B"); // returns 1
list.indexOf("B", 1); // returns 1
list.indexOf("B", 2); // returns 3
list.indexOf("X"); // returns -1この関数を使用するには、値型が `operator==()` の実装を持っている必要があります。
lastIndexOf() およびcontains()も参照してください 。
QList<T>::iterator QList::insert(qsizetype i, QList<T>::parameter_type value)
QList<T>::iterator QList::insert(qsizetype i, QList<T>::rvalue_ref value)
リストのインデックス位置i にvalue を挿入します。i が0の場合、その値はリストの先頭に追加されます。i がsize()の場合、その値はリストの末尾に追加されます。
例:
QList<QString> list = {"alpha", "beta", "delta"};
list.insert(2, "gamma");
// list: ["alpha", "beta", "gamma", "delta"]リストが大きい場合、この操作は低速になる可能性があります(線形時間)。これは、インデックスi 以上のすべての要素を、メモリ上で 1 位置分先へ移動させる必要があるためです。高速なinsert() 関数を提供するコンテナクラスが必要な場合は、代わりに std::list を使用してください。
関連項目: append()、prepend()、およびremove()を参照してください 。
QList<T>::iterator QList::insert(QList<T>::const_iterator before, qsizetype count, QList<T>::parameter_type value)
イテレータbefore が指す項目の前に、value のcount 個のコピーを挿入します。挿入された項目の先頭を指すイテレータを返します。
QList<T>::iterator QList::insert(QList<T>::const_iterator before, QList<T>::parameter_type value)
QList<T>::iterator QList::insert(QList<T>::const_iterator before, QList<T>::rvalue_ref value)
イテレータ `before` が指す項目の前に、value を挿入します。挿入された項目を指すイテレータを返します。
QList<T>::iterator QList::insert(qsizetype i, qsizetype count, QList<T>::parameter_type value)
リストのインデックス位置i に、value のcount 個のコピーを挿入します。
例:
QList<double> list = {2.718, 1.442, 0.4342};
list.insert(1, 3, 9.9);
// list: [2.718, 9.9, 9.9, 9.9, 1.442, 0.4342]これはオーバーロードされた関数です。
[constexpr noexcept] bool QList::isEmpty() const
リストのサイズが 0 の場合は `true ` を返し、それ以外の場合は `false` を返します。
T &QList::last()
リストの最後の項目への参照を返します。この関数は、リストが空ではないことを前提としています。
first()、isEmpty()、およびconstLast()も参照してください 。
[since 6.0] QList<T> QList::last(qsizetype n) const
このリストの最後のn 個の要素を含む部分リストを返します。
注: n < 0 またはn >size() の場合、動作は 未定義となります。
この関数は Qt 6.0 で導入されました。
first() およびsliced()も参照してください 。
[noexcept] const T &QList::last() const
これはオーバーロードされた関数です。
[noexcept] template <typename AT> qsizetype QList::lastIndexOf(const AT &value, qsizetype from = -1) const
インデックス位置from から逆方向に検索し、リスト内で値value が最後に現れるインデックス位置を返します。from が -1(デフォルト)の場合、検索は最後の要素から開始されます。一致する要素がない場合は -1 を返します。
例:
QList<QString> list = {"A", "B", "C", "B", "A"};
list.lastIndexOf("B"); // returns 3
list.lastIndexOf("B", 3); // returns 3
list.lastIndexOf("B", 2); // returns 1
list.lastIndexOf("X"); // returns -1この関数を使用するには、値型に `operator==()` の実装が必要です。
indexOf()も参照してください 。
[constexpr noexcept] qsizetype QList::length() const
[static constexpr, since 6.8] qsizetype QList::maxSize()
[constexpr noexcept, since 6.8] qsizetype QList::max_size() const
この関数は、リストが理論上保持できる要素の最大数を返します。実際には、システムで使用可能なメモリ量によって制限されるため、この数ははるかに小さくなる場合があります。
これらの関数は Qt 6.8 で導入されました。
QList<T> QList::mid(qsizetype pos, qsizetype length = -1) const
このリストのpos の位置から始まる要素を含む部分リストを返します。length が-1(デフォルト)の場合、pos 以降のすべての要素が含まれます。それ以外の場合は、length 個の要素(または、length 個未満の要素がある場合は残りのすべての要素)が含まれます。
void QList::move(qsizetype from, qsizetype to)
インデックス位置from にある項目を、インデックス位置to に移動します。
from なお、to は範囲内である必要があります。
たとえば、最初の要素をリストの末尾に移動するには:
[noexcept] void QList::pop_back()
この関数は、STLとの互換性を確保するために提供されています。これは、removeLast() と同等です。
[noexcept] void QList::pop_front()
この関数は、STLとの互換性を確保するために提供されています。これは、removeFirst() と同等です。
リストの先頭に「value 」を挿入します。
例:
QList<QString> list;
list.prepend("one");
list.prepend("two");
list.prepend("three");
// list: ["three", "two", "one"]これは list.insert(0,value) と同じです。
通常、この操作は比較的高速です(平均定数時間)。QList は、リストデータの先頭に追加のメモリを割り当てることができ、操作のたびにデータを再割り当てしたり移動させたりすることなく、その方向にリストを拡張できます。ただし、先頭への挿入が定数時間で保証されるコンテナクラスが必要な場合は、代わりにstd::listを使用してください。それ以外の場合は、QList を優先してください。
append() およびinsert()も参照してください 。
void QList::push_back(QList<T>::parameter_type value)
この関数は、STLとの互換性を確保するために提供されています。これは、append(value) と同等です。
void QList::push_back(QList<T>::rvalue_ref value)
これはオーバーロードされた関数です。
void QList::push_front(QList<T>::parameter_type value)
void QList::push_front(QList<T>::rvalue_ref value)
この関数は、STLとの互換性を確保するために用意されています。これは、prepend(value) と同等です。
QList<T>::reverse_iterator QList::rbegin()
リストの最初の要素を指す、STL形式の逆方向イテレータを、逆順で返します。
警告: 返されたイテレータは 、リストから切り離された場合、またはQList が変更された場合に無効になります。
関連項目: begin()、crbegin()、およびrend()。
[noexcept] QList<T>::const_reverse_iterator QList::rbegin() const
これはオーバーロードされた関数です。
void QList::remove(qsizetype i, qsizetype n = 1)
インデックス位置i から始まるn 個の要素をリストから削除します。
要素の削除後もリストの容量は維持され、割り当てられたメモリ量は減りません。余分な容量を削減し、可能な限り多くのメモリを解放するには、squeeze() を呼び出してください。
注: QList が暗黙的に共有されていない場合 、この関数は指定された位置以降にあるイテレータのみを無効化します。
関連項目: insert()、replace()、およびfill()。
template <typename AT = T> qsizetype QList::removeAll(const AT &t)
リストから、t と等しいすべての要素を削除します。削除された要素がある場合は、その数を返します。
要素の削除を行っても、リストの容量は維持され、割り当てられたメモリ量は減りません。余分な容量を削減し、可能な限り多くのメモリを解放するには、squeeze() を呼び出してください。
removeOne()も参照してください 。
void QList::removeAt(qsizetype i)
インデックス位置i にある要素を削除します。これは
remove(i);要素の削除を行っても、リストの容量は維持され、割り当てられたメモリ量は減りません。余分な容量を削減し、可能な限り多くのメモリを解放するには、squeeze() を呼び出してください。
注: QList が暗黙的に共有されていない場合 、この関数は指定された位置以降のイテレータのみを無効にします。
remove()も参照してください 。
[noexcept] void QList::removeFirst()
リストの先頭にある要素を削除します。この関数を呼び出すことは、remove(0)を呼び出すことと同じです。リストは空であってはなりません。リストが空になってよい場合は、この関数を呼び出す前にisEmpty()を呼び出してください。
要素の削除を行っても、リストの容量は維持され、割り当てられたメモリ量は減りません。余分な容量を削減し、可能な限り多くのメモリを解放するには、squeeze() を呼び出してください。
remove()、takeFirst()、およびisEmpty()も参照してください 。
[since 6.1] template <typename Predicate> qsizetype QList::removeIf(Predicate pred)
述語 `pred ` が真を返すすべての要素をリストから削除します。削除された要素がある場合は、その数を返します。
この関数は Qt 6.1 で導入されました。
removeAll()も参照してください 。
[noexcept] void QList::removeLast()
リストの最後の要素を削除します。この関数を呼び出すことは、remove(size() - 1)を呼び出すことと同じです。リストは空であってはなりません。リストが空であってもよい場合は、この関数を呼び出す前にisEmpty()を呼び出してください。
要素の削除を行っても、リストの容量は維持され、割り当てられたメモリ量は減りません。余分な容量を削減し、可能な限り多くのメモリを解放するには、squeeze() を呼び出してください。
remove()、takeLast()、removeFirst()、およびisEmpty()も参照してください 。
template <typename AT = T> bool QList::removeOne(const AT &t)
リストから、t と等しい最初の要素を削除します。実際に要素が削除されたかどうかを返します。
要素の削除を行っても、リストの容量は維持され、割り当てられたメモリ量は減りません。余分な容量を削減し、可能な限り多くのメモリを解放するには、squeeze() を呼び出してください。
removeAll()も参照してください 。
QList<T>::reverse_iterator QList::rend()
リストの最後の要素の直後を指す、逆順のSTLスタイルの逆イテレータを返します。
警告: 返されたイテレータは 、リストから切り離された場合、またはQList が変更された場合に無効になります。
関連項目: end()、crend()、およびrbegin()。
[noexcept] QList<T>::const_reverse_iterator QList::rend() const
これはオーバーロードされた関数です。
void QList::replace(qsizetype i, QList<T>::parameter_type value)
void QList::replace(qsizetype i, QList<T>::rvalue_ref value)
インデックス位置i にある項目を、value に置き換えます。
i i はリスト内の有効なインデックス位置でなければなりません(つまり、0 <= < ())。size
operator[]() およびremove()も参照してください 。
void QList::reserve(qsizetype size)
少なくともsize 個の要素分のメモリを割り当てようとします。
リストのサイズが事前に分かっている場合は、再割り当てやメモリの断片化を防ぐために、この関数を呼び出すべきです。また、リストのサイズを頻繁に変更する場合も、パフォーマンスが向上する可能性があります。
必要な容量が不明確な場合は、通常、size を上限として指定するか、厳密な上限がこの値よりもはるかに大きい場合は、最も可能性の高いサイズの上限推定値を使用することをお勧めします。size が過小評価されている場合、予約されたサイズを超えるとリストは必要に応じて拡大されます。その結果、最も楽観的な推定値よりも大きな割り当てが行われ、それを引き起こした操作の速度が低下する可能性があります。
警告: reserve () はメモリを確保しますが、リストのサイズを変更するものではありません。リストの現在の末尾を超えるデータへのアクセスは、未定義の挙動となります。リストの現在の末尾を超えるメモリにアクセスする必要がある場合は、resize() を使用してください。
関連項目: squeeze()、capacity()、resize()。
[since 6.0] void QList::resize(qsizetype size)
[since 6.0] void QList::resize(qsizetype size, QList<T>::parameter_type c)
リストのサイズを `size` に設定します。`size ` が現在のサイズより大きい場合、要素はリストの末尾に追加されます。新しい要素は、デフォルトのコンストラクタで生成された値、または `c` で初期化されます。`size ` が現在のサイズより小さい場合、要素はリストの末尾から削除されます。
このリストが共有されていない場合、`capacity()` の値は保持されます。余分な容量を解放するには、`squeeze()` を使用してください。
注: Qt 5.7 以前のバージョンでは (QVector の場合。QList には 6.0 までresize() が存在しなかった)、この関数はキャパシティを維持するのではなく、リストが使用しているメモリを解放していました。
これらの関数は Qt 6.0 で導入されました。
size()も参照してください 。
[since 6.8] void QList::resizeForOverwrite(qsizetype size)
リストのサイズをsize に設定します。size が現在のサイズより小さい場合、要素は末尾から削除されます。size が現在のサイズより大きい場合、要素は末尾に追加されます。QList を指定すると、これらの新しい要素の初期化を行わないよう試みます。
具体的には:
TにQt::Uninitializedを受け入れるコンストラクタがある場合、そのコンストラクタを使用して要素を初期化します。- そうでない場合、各要素はデフォルトコンストラクタによって初期化されます。単純なコンストラクタを持つ型(
int、floatなど)の場合、これは初期化を行わないことと同等です。
この関数は Qt 6.8 で導入されました。
void QList::shrink_to_fit()
この関数は、STLとの互換性を確保するために提供されています。これは、squeeze() と同等です。
[constexpr noexcept] qsizetype QList::size() const
リスト内の項目の数を返します。
isEmpty() およびresize()も参照してください 。
[since 6.0] QList<T> QList::sliced(qsizetype pos, qsizetype n) const
このリストの、位置pos から始まる、n 個の要素を含む部分リストを返します。
注: pos < 0、n < 0、またはpos +n >size() の場合、動作は 未定義です。
この関数は Qt 6.0 で導入されました。
[since 6.0] QList<T> QList::sliced(qsizetype pos) const
このリストのpos の位置から末尾までの要素を含む部分リストを返します。
注: pos < 0 またはpos >size() の場合、動作は 未定義です。
これはオーバーロードされた関数です。
この関数は Qt 6.0 で導入されました。
void QList::squeeze()
アイテムの保存に不要なメモリを解放します。
この関数の唯一の目的は、QList のメモリ使用量を微調整する手段を提供することです。通常、この関数を呼び出す必要はほとんどありません。
reserve() およびcapacity()も参照してください 。
bool QList::startsWith(QList<T>::parameter_type value) const
このリストが空ではなく、かつその最初の要素が `value` と等しい場合は `true ` を返し、そうでない場合は `false` を返します。
isEmpty() およびfirst()も参照してください 。
[noexcept] void QList::swap(QList<T> &other)
このリストをother と入れ替えます。この操作は非常に高速で、失敗することはありません。
void QList::swapItemsAt(qsizetype i, qsizetype j)
インデックス位置i にある要素と、インデックス位置j にある要素を入れ替えます。この関数は、i とj の両方が 0 以上かつsize() 未満であることを前提としています。失敗を防ぐため、i とj の両方が 0 以上かつsize() 未満であることを確認してください。
T QList::takeAt(qsizetype i)
インデックス位置i にある要素を取り出し、それを返します。
以下と同等です。
T t = at(i);
remove(i);
return t;注: QList が暗黙的に共有されていない場合 、この関数は指定された位置以降にあるイテレータのみを無効にします。
takeFirst() およびtakeLast()も参照してください 。
QList<T>::value_type QList::takeFirst()
リストの先頭要素を削除し、それを返します。この関数は、リストが空ではないことを前提としています。エラーを防ぐには、この関数を呼び出す前に `isEmpty()` を呼び出してください。
takeLast() およびremoveFirst()も参照してください 。
QList<T>::value_type QList::takeLast()
リストの最後の要素を削除し、それを返します。この関数は、リストが空ではないことを前提としています。エラーを防ぐには、この関数を呼び出す前に `isEmpty()` を呼び出してください。
戻り値を使用しない場合は、removeLast() の方が効率的です。
takeFirst() およびremoveLast()も参照してください 。
T QList::value(qsizetype i) const
リストのインデックス位置i にある値を返します。
インデックス `i ` が範囲外の場合、この関数はデフォルト構築された値を返します。i が範囲内であることが確実な場合は、代わりに `at()` を使用すると、処理が若干高速になります。
at() およびoperator[]()も参照してください 。
T QList::value(qsizetype i, QList<T>::parameter_type defaultValue) const
インデックス `i ` が範囲外の場合、この関数は `defaultValue` を返します。
これはオーバーロードされた関数です。
bool QList::operator!=(const QList<T> &other) const
other がこのリストと等しくない場合はtrue を返し、それ以外の場合はfalse を返します。
2つのリストは、同じ順序で同じ値を含んでいる場合に等しいとみなされます。
この関数を使用するには、値型に `operator==()` の実装が存在する必要があります。
operator==()も参照してください 。
QList<T> QList::operator+(QList<T> &&other) &&
QList<T> QList::operator+(const QList<T> &other) &&
QList<T> QList::operator+(QList<T> &&other) const &
QList<T> QList::operator+(const QList<T> &other) const &
このリストのすべての要素と、other リストのすべての要素を連結したリストを返します。
operator+=()も参照してください 。
QList<T> &QList::operator+=(const QList<T> &other)
other リストの項目をこのリストに追加し、このリストへの参照を返します。
operator+() およびappend()も参照してください 。
[since 6.0] QList<T> &QList::operator+=(QList<T> &&other)
これはオーバーロードされた関数です。
この関数は Qt 6.0 で導入されました。
operator+() およびappend()も参照してください 。
QList<T> &QList::operator+=(QList<T>::parameter_type value)
リストに `value ` を追加します。
これはオーバーロードされた関数です。
append() およびoperator<<()も参照してください 。
QList<T> &QList::operator+=(QList<T>::rvalue_ref value)
これはオーバーロードされた関数です。
append() およびoperator<<()も参照してください 。
bool QList::operator<(const QList<T> &other) const
このリストがotherよりも字句的に小さい場合、true を返します。そうでない場合は、false を返します。
この関数を使用するには、値型が `operator<()` の実装を持っている必要があります。
QList<T> &QList::operator<<(QList<T>::parameter_type value)
value をリストに追加し、このリストへの参照を返します。
append() およびoperator+=()も参照してください 。
QList<T> &QList::operator<<(const QList<T> &other)
リストに `other ` を追加し、そのリストへの参照を返します。
[since 6.0] QList<T> &QList::operator<<(QList<T> &&other)
これはオーバーロードされた関数です。
この関数は Qt 6.0 で導入されました。
QList<T> &QList::operator<<(QList<T>::rvalue_ref value)
これはオーバーロードされた関数です。
append() およびoperator+=()も参照してください 。
bool QList::operator<=(const QList<T> &other) const
このリストが、otherよりも辞書順で小さいか等しい場合は、true を返します。それ以外の場合は、false を返します。
この関数を使用するには、値型が `operator<()` の実装を持っている必要があります。
[implicit] QList<T> &QList::operator=(QList<T> &&other)
other をこのQList インスタンスに割り当てます。
[implicit] QList<T> &QList::operator=(const QList<T> &other)
other をこのリストに割り当て、このリストへの参照を返します。
QList<T> &QList::operator=(std::initializer_list<T> args)
args 内の値のコレクションを、このQList インスタンスに割り当てます。
bool QList::operator==(const QList<T> &other) const
other がこのリストと等しい場合はtrue を返し、そうでない場合はfalse を返します。
2つのリストは、同じ順序で同じ値を含んでいる場合に等しいとみなされます。
この関数を使用するには、値型にoperator==() の実装が存在する必要があります。
operator!=()も参照してください 。
bool QList::operator>(const QList<T> &other) const
このリストがotherより辞書順で大きい場合はtrue を返し、そうでない場合はfalse を返します。
この関数を使用するには、値型が `operator<()` の実装を持っている必要があります。
bool QList::operator>=(const QList<T> &other) const
このリストがotherよりも辞書的に大きい、または等しい場合はtrue を返し、そうでない場合はfalse を返します。
この関数を使用するには、値型が `operator<()` の実装を持っている必要があります。
QList<T>::reference QList::operator[](qsizetype i)
インデックス位置i にある項目を、変更可能な参照として返します。
i i は、リスト内の有効なインデックス位置でなければなりません(つまり、0 <= < ())。size
非 const 演算子を使用すると、QList がディープコピーを行う場合があることに注意してください。
[noexcept] QList<T>::const_reference QList::operator[](qsizetype i) const
(i) と同様です。
これはオーバーロードされた関数です。
関連する非メンバー
[since 6.1] template <typename T, typename AT> qsizetype erase(QList<T> &list, const AT &t)
リスト `list` から、t と等しいすべての要素を削除します。削除された要素がある場合は、その数を返します。
注: QList::removeAllとは異なり 、t はlist 内の要素への参照であってはなりません。これが当てはまらないと確信できない場合は、t のコピーを作成し、そのコピーに対してこの関数を呼び出してください。
この関数は Qt 6.1 で導入されました。
QList::removeAll() およびerase_ifも参照してください 。
[since 6.1] template <typename T, typename Predicate> qsizetype erase_if(QList<T> &list, Predicate pred)
リスト `list` から、述語 `pred ` が真を返すすべての要素を削除します。削除された要素がある場合は、その数を返します。
この関数は Qt 6.1 で導入されました。
eraseも参照してください 。
[noexcept(...)] template <typename T> size_t qHash(const QList<T> &key, size_t seed = 0)
seed を計算のシードとして使用し、key のハッシュ値を返します。
T の型は、qHash() によってサポートされている必要があります。
注: noexcept(qHashRange(key.cbegin(), key.cend(), seed)) がtrue の場合、この関数は noexcept となります。
template <typename T> QDataStream &operator<<(QDataStream &out, const QList<T> &list)
リスト `list ` をストリーム `out` に書き込みます。
この関数を使用するには、値型が `operator<<()` を実装している必要があります。
QDataStream 演算子の形式も参照してください 。
[since 6.9] auto operator<=>(const QList<T> &lhs, const QList<T> &rhs)
lhs とrhs の内容を辞書順で比較します。適用可能なカテゴリ型の中で最も強い型の結果を返します。つまり、型T に対してoperator<=>() が利用可能な場合はdecltype(lhs[0] <=> rhs[0]) を返し、そうでない場合はstd::weak_ordering を返します。
注:この演算子は 、C++20モードでのみ利用可能であり、かつ基底型T がstd::three_way_comparable コンセプトを満たすか、operator<() を提供する場合にのみ利用可能です。
この関数は Qt 6.9 で導入されました。
template <typename T> QDataStream &operator>>(QDataStream &in, QList<T> &list)
ストリーム `in ` からリストを読み取り、`list` に格納します。
この関数を使用するには、値型が `operator>>()` を実装している必要があります。
「QDataStream 演算子の形式」も参照してください 。
© 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.