QList Class

template <typename T> class QList

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

ヘッダー #include <QList>
CMake: find_package(Qt6 REQUIRED COMPONENTS Core)
target_link_libraries(mytarget PRIVATE Qt6::Core)
qmake: QT += core
によって継承される:
16 タイプ

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

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

パブリック型

パブリック関数

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> & (std::initializer_list<T> l)assign(InputIteratorfirst, InputIteratorlast)
(since 6.6) QList<T> & (qsizetype n, inputIterator last)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
ブール 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(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)
ブール empty() const
QList<T>::iterator end()
QList<T>::const_iterator end() const
ブール 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> &(QList<T>::const_iterator end)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)
ブール 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()
ブール 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()
ブール 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
ブール operator!=(const QList<T>&other) const
QList<T> operator+(QList<T>&&other) &&.
QList<T> operator+(const QList<T>&other) && QList<T> &other
QList<T> operator+(QList<T>&&other) const && QList<T> (const QList<T> &&other)
QList<T> operator+(const QList<T>&other) const & QList<T> &other.
QList<T> & (const QList<T> &other)operator+=(const QList<T>&other)
(since 6.0) QList<T> & (const QList<T> &other)operator+=(QList<T>&&other)
QList<T> & (QList<T> &&other)operator+=(QList<T>::parameter_typevalue)
QList<T> & (QList<T>::parameter_type value)operator+=(QList<T>::rvalue_ref)
ブール operator<(const QList<T>&other) const
QList<T> &(QList<T>::rvalue_ref value)operator<<(QList<T>::parameter_typevalue)
QList<T> & (QList<T>::parameter_type value)operator<<(const QList<T>&other)
(since 6.0) QList<T> & (const QList<T> &other)operator<<(QList<T>&&other)
QList<T> & (const QList<T> &&other)operator<<(QList<T>::rvalue_refvalue)
ブール operator<=(const QList<T>&other) const
QList<T> & (QList<T>::rvalue_ref value)operator=(QList<T>&&other)
QList<T> &(QList<T> &&other)operator=(const QList<T>&other)
QList<T> & (const QList<T> &other)operator=(std::initializer_list<T>args)
ブール operator==(const QList<T>&other) const
ブール operator>(const QList<T>&other) const
ブール operator>=(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)
QDataStream &operator>>(QDataStream &in, QList<T> &list)

詳細な説明

QList<T> は Qt の汎用コンテナクラスのひとつです。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 コンテナと標準アルゴリズム を参照してください。

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

Qt-style synonym forQList::const_iterator.

[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_iteratorQList::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_iteratorQList::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;
// リスト:["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は要素を初期化しないように試みます。

具体的には

  • TQt::Uninitialized を受け付けるコンストラクタがある場合、そのコンストラクタを使用して要素を初期化します;
  • そうでない場合、各要素はデフォルトで構築されます。それ以外の場合、各要素はデフォルトで構築されます。些細に構築可能な型(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

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

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

リストの最後の項目を削除して返します。この関数は、リストが空でないことを前提とする。失敗を避けるには、この関数を呼び出す前に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 の場合、この関数は noexcept となる。

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 演算子のフォーマットも参照してください

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