QList Class

template <typename T> class QList

QList クラスは、動的な配列を提供するテンプレート・クラスです。詳細...

Header: #include <QList>
CMake: find_package(Qt6 REQUIRED COMPONENTS Core)
target_link_libraries(mytarget PRIVATE Qt6::Core)
qmake: QT += core
Inherited By:
16 types

QBluetoothServiceInfo::Alternative, QBluetoothServiceInfo::Sequence, QByteArrayList, QItemSelection, QMqttUserProperties, QNdefMessage, QPolygon, QPolygonF, QQueue, QSignalSpy, QStack, QStringList, QTestEventList, QVector, QVulkanInfoVector, and QXmlStreamAttributes

注意:このクラスの関数はすべてリエントラントです。

パブリック型

パブリック関数

QList()
QList(qsizetype size)
QList(std::initializer_list<T> args)
QList(InputIterator first, InputIterator last)
QList(qsizetype size, QList<T>::parameter_type value)
(since 6.8) QList(qsizetype size, Qt::Initialization)
QList(const QList<T> &other)
QList(QList<T> &&other)
~QList()
void append(QList<T>::parameter_type value)
(since 6.0) void append(QList<T> &&value)
void append(QList<T>::rvalue_ref value)
void append(const QList<T> &value)
(since 6.6) QList<T> &assign(std::initializer_list<T> l)
(since 6.6) QList<T> &assign(InputIterator first, InputIterator last)
(since 6.6) QList<T> &assign(qsizetype n, QList<T>::parameter_type t)
QList<T>::const_reference at(qsizetype i) 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
QList<T>::iterator emplace(qsizetype i, Args &&... args)
QList<T>::iterator emplace(QList<T>::const_iterator before, 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_type value) const
QList<T>::iterator erase(QList<T>::const_iterator pos)
QList<T>::iterator erase(QList<T>::const_iterator begin, QList<T>::const_iterator end)
QList<T> &fill(QList<T>::parameter_type value, qsizetype size = -1)
T &first()
(since 6.0) QList<T> first(qsizetype n) const
const T &first() const
QList<T>::reference front()
QList<T>::const_reference front() const
qsizetype indexOf(const AT &value, qsizetype from = 0) const
QList<T>::iterator insert(qsizetype i, QList<T>::parameter_type value)
QList<T>::iterator insert(qsizetype i, QList<T>::rvalue_ref value)
QList<T>::iterator insert(QList<T>::const_iterator before, qsizetype count, QList<T>::parameter_type value)
QList<T>::iterator insert(QList<T>::const_iterator before, QList<T>::parameter_type value)
QList<T>::iterator insert(QList<T>::const_iterator before, QList<T>::rvalue_ref value)
QList<T>::iterator insert(qsizetype i, qsizetype count, QList<T>::parameter_type value)
bool isEmpty() const
T &last()
(since 6.0) QList<T> last(qsizetype n) const
const T &last() const
qsizetype lastIndexOf(const AT &value, qsizetype from = -1) const
qsizetype length() const
(since 6.8) qsizetype max_size() const
QList<T> mid(qsizetype pos, qsizetype length = -1) const
void move(qsizetype from, qsizetype to)
void pop_back()
void pop_front()
void prepend(QList<T>::parameter_type value)
void prepend(QList<T>::rvalue_ref value)
void push_back(QList<T>::parameter_type value)
void push_back(QList<T>::rvalue_ref value)
void push_front(QList<T>::parameter_type value)
void push_front(QList<T>::rvalue_ref value)
QList<T>::reverse_iterator rbegin()
QList<T>::const_reverse_iterator rbegin() const
void remove(qsizetype i, qsizetype n = 1)
qsizetype removeAll(const AT &t)
void removeAt(qsizetype i)
void removeFirst()
(since 6.1) qsizetype removeIf(Predicate pred)
void removeLast()
bool removeOne(const AT &t)
QList<T>::reverse_iterator rend()
QList<T>::const_reverse_iterator rend() const
void replace(qsizetype i, QList<T>::parameter_type value)
void replace(qsizetype i, QList<T>::rvalue_ref value)
void reserve(qsizetype size)
(since 6.0) void resize(qsizetype size)
(since 6.0) void resize(qsizetype size, QList<T>::parameter_type c)
(since 6.8) void resizeForOverwrite(qsizetype size)
void shrink_to_fit()
qsizetype size() const
(since 6.0) QList<T> sliced(qsizetype pos, qsizetype n) const
(since 6.0) QList<T> sliced(qsizetype pos) const
void squeeze()
bool startsWith(QList<T>::parameter_type value) const
void swap(QList<T> &other)
void swapItemsAt(qsizetype i, qsizetype j)
T takeAt(qsizetype i)
QList<T>::value_type takeFirst()
QList<T>::value_type takeLast()
T value(qsizetype i) const
T value(qsizetype i, QList<T>::parameter_type defaultValue) 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_type value)
QList<T> &operator+=(QList<T>::rvalue_ref value)
bool operator<(const QList<T> &other) const
QList<T> &operator<<(QList<T>::parameter_type value)
QList<T> &operator<<(const QList<T> &other)
(since 6.0) QList<T> &operator<<(QList<T> &&other)
QList<T> &operator<<(QList<T>::rvalue_ref value)
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>=(const QList<T> &other) const
QList<T>::reference operator[](qsizetype i)
QList<T>::const_reference operator[](qsizetype i) 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)
QDataStream &operator>>(QDataStream &in, QList<T> &list)

詳細説明

QList<T>はQtの汎用コンテナクラスの1つです。QVector<T> は Qt 5 では別のクラスでしたが、現在は QList の単純なエイリアスです。

QList<T>とQVarLengthArray<T>は似たようなAPIと機能を提供している。これらはしばしば互換性がありますが、パフォーマンスには影響があります。以下は使用例の概要です:

  • QListはデフォルトの最初の選択肢であるべきです。
  • QVarLengthArray QListはスタックに領域を確保する配列を提供しますが、必要に応じてヒープ上に動的に増やすことができます。QListはスタック上の領域を確保する配列ですが、必要に応じてヒープ上に動的に成長することができます。
  • リスト途中での挿入が一定時間保証され、インデックスではなくアイテムへのイテレータを使用する、本当のリンクリストが必要な場合は、std::listを使用してください。

注: QList とQVarLengthArray はどちらも C 互換の配列レイアウトを保証します。

注意 : Qt 5 の QList は常に C 互換の配列レイアウトを持っていたわけではなく、より予測可能なパフォーマンスを得るために、QVector を代わりに使うことをよく推奨していました。Qt 6ではこのようなことはなくなり、両方のクラスが実装を共有し、互換性を持って使用できるようになりました。

以下は、整数を格納する QList と、QString の値を格納する QList の例です:

QList<int> integerList;
QList<QString> stringList;

QListは連続したメモリの配列に項目を格納します。通常、リストは初期サイズで作成されます。例えば、次のコードは200個の要素を持つQListを作成します:

QList<QString> list(200);

要素は自動的に、デフォルトで構成された値で初期化されます。リストを別の値で初期化したい場合は、その値をコンストラクタの第2引数に渡します:

QList<QString> list(200, "Pass");

また、いつでも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を返す。そうでなければ-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 アルゴリズムを参照してください。

QList に加えて、Qt ではQVarLengthArray も提供しています。このクラスは非常に低レベルのクラスで、機能はほとんどありませんが、速度のために最適化されています。

Qt コンテナの使用に関する詳細情報

Qt コンテナと STL コンテナの比較については、「Qt コンテナを理解する」を参照してください。

最大サイズとメモリ不足の条件

QList の最大サイズはアーキテクチャに依存します。ほとんどの64ビット・システムでは2GB以上のメモリを割り当てることができますが、典型的な上限は2^63バイトです。実際の値は、データ・ブロックの管理に必要なオーバーヘッドにも依存します。その結果、32ビット・プラットフォームでは2GBからオーバーヘッドを差し引いたサイズ、64ビット・プラットフォームでは2^63バイトからオーバーヘッドを差し引いたサイズが最大になると予想されます。QListに格納できる要素の数は、この最大サイズを格納要素のサイズで割ったものになります。

メモリ割り当てに失敗した場合、QListはQ_CHECK_PTR マクロを使用します。このマクロは、アプリケーションが例外サポート付きでコンパイルされている場合、std::bad_alloc 例外をスローします。例外が無効になっている場合、メモリ不足は未定義の動作です。

オペレーティング・システムは、割り当てられたメモリ、特に連続した大 きなブロックを大量に保持するアプリケーションに対して、さらなる制限を課す可能性が あることに注意してください。そのような考慮事項や、そのような動作の設定、あるいは緩和策は、Qt API の範囲外です。

メンバ型ドキュメント

[alias] QList::ConstIterator

QList::const_iterator の Qt 形式のシノニム。

[alias] QList::Iterator

Qt-style synonym forQList::iterator.

[alias] QList::const_pointer

STL との互換性のために提供されています。

[alias] QList::const_reference

STL との互換性のために用意されています。

[alias] QList::const_reverse_iterator

QList::const_reverse_iterator typedef は,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 との互換性のために提供される。

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

[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()も参照してください

void QList::prepend(QList<T>::parameter_type value)

void QList::prepend(QList<T>::rvalue_ref value)

value をリストの先頭に挿入します。

QList<QString> list;
list.prepend("one");
list.prepend("two");
list.prepend("three");
// list: ["three", "two", "one"]

例:これは list.insert(0,value) と同じです。

通常、この操作は比較的高速です(償却された定数時間)。QList は、リスト・データの先頭に余分なメモリを割り当て、操作のたびにデータを再割り当てしたり移動したりすることなく、その方向に成長させることができます。QList しかし、定数時間のプリペンドが保証されたコンテナ・クラスが必要な場合は、代わりにstd::listを使う。

append() およびinsert()も参照

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;
// list: ["one", "two", "aaa"]

例:返された参照を使用して、新しく作成されたオブジェクトにアクセスすることも可能です:

QList<QString> list;
auto &ref = list.emplaceBack();
ref = "one";
// list: ["one"]

これは list.emplace(list.size(),args) と同じです。

emplaceも参照してください

QList<T>::iterator QList::insert(qsizetype i, QList<T>::parameter_type value)

QList<T>::iterator QList::insert(qsizetype i, QList<T>::rvalue_ref value)

リストのインデックス位置ivalue を挿入します。i が 0 の場合、その値はリストの先頭に追加されます。isize() の場合、値がリストに追加されます。

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, QList<T>::parameter_type value)

QList<T>::iterator QList::insert(QList<T>::const_iterator before, QList<T>::rvalue_ref value)

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

イテレータbefore が指すアイテムの前にvalue を挿入します。挿入された項目を指すイテレータを返します。

void QList::replace(qsizetype i, QList<T>::parameter_type value)

void QList::replace(qsizetype i, QList<T>::rvalue_ref value)

インデックス位置i のアイテムをvalue で置き換えます。

i は、リスト内の有効なインデックス位置でなければならない(つまり、0 <= < ())。i size

operator[]() およびremove()も参照してください

void QList::push_front(QList<T>::parameter_type value)

void QList::push_front(QList<T>::rvalue_ref value)

この関数は STL との互換性のために用意されています。prepend(value) と等価。

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

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

この関数は、理論上リストが保持できる要素の最大数を返します。実際には、システムで利用可能なメモリ量によって制限されるため、この数はもっと少なくなります。

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

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::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] 内の内容を持つリストを構築します。

注意: このコンストラクタは、InputIteratorLegacyInputIterator の要件を満たす場合にのみ、オーバーロード解決に参加します。

InputIterator の値型は、T に変換可能でなければなりません。

QList::QList(qsizetype size, QList<T>::parameter_type value)

size 要素の初期サイズを持つリストを構築します。各要素はvalue で初期化されます。

resize() およびfill()も参照してください

[since 6.8] QList::QList(qsizetype size, Qt::Initialization)

size 要素の初期サイズを持つリストを構築します。

QList は、要素を初期化しないように試みます。

具体的には

  • Qt::Uninitialized を受け付けるコンストラクタがT にある場合、そのコンストラクタが要素の初期化に使用されます;
  • そうでない場合、各要素はデフォルトで構築されます。それ以外の場合、各要素はデフォルトで構築されます。些細に構築可能な型(intfloat など)については、これは初期化しないことと同じです。

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

resizeForOverwrite()も参照してください

[default] QList::QList(const QList<T> &other)

other のコピーを構築します。

QList は暗黙的に共有されるため、この操作には一定の時間がかかります。これにより、関数から QList を返すのが非常に速くなります。共有インスタンスが変更された場合、そのインスタンスはコピーされます(コピーオンライト)。

operator=()も参照してください

[default] QList::QList(QList<T> &&other)

Move-QListインスタンスを構築し、other が指していたのと同じオブジェクトを指すようにします。

[default] 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] 内の要素数に等しくなります。

この関数は、範囲の要素数がこのリストの容量を超えるか、このリストが共有されている場合にのみ、メモリを確保します。

注意 :この関数のオーバーロードは、InputIteratorLegacyInputIterator の要件を満たす場合にのみ、オーバーロード解決に参加します。

注意 :いずれかの引数が *this へのイテレータである場合の動作は未定義です。

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

[since 6.6] QList<T> &QList::assign(qsizetype n, QList<T>::parameter_type t)

このリストの内容をtn コピーで置き換えます。

このリストのサイズはn に等しくなります。

この関数は、n がリストの容量を超えるか、このリストが共有されている場合にのみ、メモリを割り当てます。

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

[noexcept] QList<T>::const_reference QList::at(qsizetype i) const

リストのインデックス位置i にある項目を返します。

i はリスト内の有効なインデックス位置でなければなりません(つまり、0 <= < ())。i 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() を呼び出すことで、末尾に十分な空き領域があることを確認できる。

reserve() およびsqueeze()も参照

[noexcept] QList<T>::const_iterator QList::cbegin() const

リストの最初の項目を指す constSTL 形式のイテレータを返します。

警告: 警告: 返されたイテレータは、デタッチ時またはQList が変更されると無効になります。

begin() およびcend()も参照

[noexcept] QList<T>::const_iterator QList::cend() const

リストの最後の項目の直後を指す constSTL 形式のイテレータを返します。

警告: 警告: 返されたイテレータは、デタッチ時またはQList が変更されると無効になります。

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

void QList::clear()

リストからすべての要素を削除します。

このリストが共有されていない場合、capacity() は保持されます。余分な容量を削除するには、squeeze() を使用します。

注意: Qt の 5.7 より前のバージョン(QVector )と 6.0 より前のバージョン(QList )では、この関数は、容量を保持する代わりに、リストが使用しているメモリを解放しました。

resize() およびsqueeze()も参照してください

[noexcept] QList<T>::const_iterator QList::constBegin() const

リストの最初の項目を指す constSTL 形式のイテレータを返します。

警告: 警告: 返されたイテレータは、デタッチ時またはQList が変更されると無効になります。

begin() およびconstEnd()も参照

[noexcept] QList<T>::const_pointer QList::constData() const

リストに格納されているデータへの const ポインタを返します。このポインタを使用して、リスト内の項目にアクセスできます。

警告: 警告:このポインタは、デタッチ時またはQList が変更されたときに無効になります。

この関数は、C++のプレーンな配列を受け付ける関数にリストを渡すのに便利です。

data() およびoperator[]()も参照

[noexcept] QList<T>::const_iterator QList::constEnd() const

リストの最後の項目の直後を指す、STLスタイルのイテレータを返します。

警告: 警告: 返されたイテレータは、切り離されたときや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() も参照して ください。

[noexcept] qsizetype QList::count() const

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

size() と同じ。

[noexcept] QList<T>::const_reverse_iterator QList::crbegin() const

リストの最初の項目を逆順で指す constSTL 形式の逆順イテレータを返します。

警告: 警告: 返されたイテレータは、デタッチ時またはQList が変更されたときに無効になります。

begin()、rbegin()、rend()も参照

[noexcept] QList<T>::const_reverse_iterator QList::crend() const

リストの最後の項目の直後を指す constSTL 形式の逆順イテレータを返します。

警告: 警告: 返されたイテレータは、デタッチ時または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

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

template <typename... Args> QList<T>::iterator QList::emplace(qsizetype i, Args &&... args)

位置i に新しい要素を挿入して、コンテナを拡張します。この新しい要素は、args を引数としてインプレースで構築されます。

新しい要素へのイテレータを返します。

QList<QString> list{"a", "ccc"};
list.emplace(1, 2, 'b');
// list: ["a", "bb", "ccc"]

注意: 要素は、最初にインプレースで作成されることが保証されていますが、その後、正しい位置にコピーまたは移動される可能性があります。

emplaceBackも参照のこと

template <typename... Args> QList<T>::iterator QList::emplace(QList<T>::const_iterator before, Args &&... args)

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

イテレータbefore が指すアイテムの前に新しい要素を作成します。この新しい要素は、args を引数としてインプレースで構築されます。

新しい要素へのイテレータを返します。

[noexcept] bool QList::empty() const

この関数は STL との互換性のために提供されています。これはisEmpty() と等価であり、リストが空の場合はtrue を返し、そうでない場合はfalse を返す。

QList<T>::iterator QList::end()

リストの最後の項目の直後を指すSTLスタイルのイテレータを返します。

警告: 警告: 返されたイテレータは、デタッチ時またはQList が変更されたときに無効になります。

begin() およびconstEnd()も参照してください

[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暗黙的に共有されていない場合、この関数は、指定された位置以降のイテレータのみを 無効にします。

insert() およびremove()も参照

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 で導入されました。

last() およびsliced()も参照してください

[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

インデックス位置from から前方を検索して、リスト内で最初に出現するvalue のインデックス位置を返します。一致する項目がない場合は -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(QList<T>::const_iterator before, qsizetype count, QList<T>::parameter_type value)

イテレータbefore が指す項目の前にvaluecount コピーを挿入する。挿入された項目の先頭を指すイテレータを返します。

QList<T>::iterator QList::insert(qsizetype i, qsizetype count, QList<T>::parameter_type value)

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

リストのインデックス位置ivalue のコピー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]

[noexcept] bool QList::isEmpty() const

リストのサイズが 0 の場合はtrue を返し、そうでない場合はfalse を返す。

size() およびresize()も参照

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()も参照

[noexcept] qsizetype QList::length() const

size() およびcount() と同じ。

size() およびcount() も参照

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 に移動します。

[noexcept] void QList::pop_back()

この関数は STL との互換性のために提供されています。removeLast() と等価です。

[noexcept] void QList::pop_front()

この関数は STL との互換性のために用意されています。removeFirst() と同等です。

void QList::push_back(QList<T>::parameter_type value)

この関数は STL との互換性のために用意されています。append(value) と同等です。

void QList::push_back(QList<T>::rvalue_ref 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::reserve(qsizetype size)

少なくともsize 要素分のメモリを確保しようとする。

リストの大きさがあらかじめわかっている場合は、再割り当てやメモリの断片化を防ぐためにこの関数を呼び出すべきです。リストのサイズを頻繁に変更すれば、パフォーマンスも向上する可能性が高い。

どのくらいの容量が必要になるか疑問な場合は、通常、size のような上限値を使用するか、厳密な上限値を使用するとこれよりはるかに大きくなる場合は、最も可能性の高いサイズの高い推定値を使用する方がよい。size が過小評価である場合、予約されたサイズを超えると、リストは必要に応じて大きくなります。

警告: reserve() はメモリを予約しますが、リストのサイズは変更しません。現在のリストの終端を越えてデータにアクセスすることは、未定義の動作です。現在のリストの終端を超えてメモリーにアクセスする必要がある場合は、resize() を使用してください。

squeeze()、capacity()、resize()も参照

[since 6.8] void QList::resizeForOverwrite(qsizetype size)

リストのサイズをsize に設定します。size が現在のサイズより小さい場合、要素は末尾から削除されます。size が現在のサイズより大きい場合、要素が末尾に追加される。QList は、これらの新しい要素を初期化しないように試みる。

具体的には

  • Qt::Uninitialized を受け付けるコンストラクタがT にある場合、そのコンストラクタが要素の初期化に使われる;
  • そうでない場合、各要素はデフォルトで構築される。それ以外の場合、各要素はデフォルトで構築されます。些細に構築可能な型(intfloat など)については、これは初期化しないことと同じです。

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

void QList::shrink_to_fit()

この関数はSTLとの互換性のために提供されています。squeeze() と同等です。

[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 で導入されました。

first() およびlast()も参照してください

[since 6.0] QList<T> QList::sliced(qsizetype pos) const

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

このリストの要素を含むサブリストを、pos の位置から始まり、その終わりまで拡張して返します。

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

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

first() およびlast()も参照してください

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 の項目と交換します。この関数は、ij の両方が 0 以上size() 未満であることを前提とする。失敗を避けるには、ij の両方が少なくとも 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()

list():リストの最後の項目を削除して返します。この関数は、リストが空でないことを前提とします。失敗を避けるには、この関数を呼び出す前に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+=(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<() を実装している必要があります。

[default] QList<T> &QList::operator=(QList<T> &&other)

Move-other をこのQList インスタンスに割り当てる。

[default] 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 は、リスト内の有効なインデックス位置でなければなりません(すなわち、0 <= < ())。i size

constでない演算子を使うと、QList がディープコピーを行う可能性があることに注意。

at() およびvalue()も参照のこと

[noexcept] QList<T>::const_reference QList::operator[](qsizetype i) const

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

at(i) と同じ。

関連する非メンバ

[since 6.1] template <typename T, typename AT> qsizetype erase(QList<T> &list, const AT &t)

リストlist から、比較結果がt と等しい要素をすべて削除します。削除された要素があれば、その数を返す。

注意: QList::removeAll とは異なり、tlist 内の要素への参照であることは許されない。そうでないことを確認できない場合は、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 の場合、例外をスローしない。

template <typename T> QDataStream &operator<<(QDataStream &out, const QList<T> &list)

リストlist をストリームout に書き込みます。

この関数は、operator<<() を実装する値型を必要とします。

QDataStream 演算子の形式も参照してください

template <typename T> QDataStream &operator>>(QDataStream &in, QList<T> &list)

ストリームin からリストlist を読み込みます。

この関数には、operator>>() を実装するための値型が必要です。

QDataStream 演算子の書式」も参照して ください。

本ドキュメントに含まれる文書の著作権は、それぞれの所有者に帰属します 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。