QList Class
template <typename T> class QListQList 클래스는 동적 배열을 제공하는 템플릿 클래스입니다. 더 보기...
Header: | #include <QList> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Core) target_link_libraries(mytarget PRIVATE Qt6::Core) |
qmake: | QT += core |
상속 대상: |
- 상속된 멤버를 포함한 모든 멤버 목록
- 사용되지 않는 구성원
- QList는 암시적으로 공유되는 클래스의 일부입니다.
참고: 이 클래스의 모든 함수는 재진입됩니다.
공용 유형
공용 함수
QList() | |
QList(qsizetype size) | |
QList(std::initializer_list<T> args) | |
QList(입력 이터레이터 첫 번째, 입력 이터레이터 마지막) | |
QList(qsizetype size, QList<T>::parameter_type value) | |
(since 6.8) | QList(qsizetype size, Qt::Initialization) |
QList(const QList<T> &other) | |
QList(QList<T> &&다른) | |
~QList() | |
void | append(QList<T>::parameter_type value) |
(since 6.0) void | append(QList<T> &&value) |
void | append(QList<T>::rvalue_ref 값) |
void | append(const QList<T> &value) |
(since 6.6) QList<T> & | assign(std::initializer_list<T> l) |
(since 6.6) QList<T> & | assign(입력 이터레이터 첫 번째, 입력 이터레이터 마지막) |
(since 6.6) QList<T> & | assign(qsizetype n, QList<T>::parameter_type t) |
QList<T>::const_reference | at(qsizetype i) const |
QList<T>::참조 | back() |
QList<T>::const_reference | back() const |
QList<T>::이터레이터 | 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>::포인터 | data() |
QList<T>::const_pointer | data() const |
QList<T>::이터레이터 | emplace(qsizetype i, Args &&... args) |
QList<T>::이터레이터 | emplace(QList<T>::const_iterator before, Args &&... args) |
QList<T>::참조 | emplaceBack(Args &&... args) |
QList<T>::참조 | emplace_back(Args &&... args) |
bool | empty() const |
QList<T>::이터레이터 | end() |
QList<T>::const_iterator | end() const |
bool | endsWith(QList<T>::파라미터_타입 값) const |
QList<T>::이터레이터 | erase(QList<T>::const_iterator pos) |
QList<T>::이터레이터 | 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>::참조 | front() |
QList<T>::const_reference | front() const |
qsizetype | indexOf(const AT &value, qsizetype from = 0) const |
QList<T>::이터레이터 | insert(qsizetype i, QList<T>::parameter_type value) |
QList<T>::이터레이터 | insert(qsizetype i, QList<T>::rvalue_ref 값) |
QList<T>::이터레이터 | insert(QList<T>::const_iterator before, qsizetype count, QList<T>::parameter_type value) |
QList<T>::이터레이터 | insert(QList<T>::const_iterator before, QList<T>::parameter_type value) |
QList<T>::이터레이터 | insert(QList<T>::const_iterator 이전, QList<T>::rvalue_ref 값) |
QList<T>::이터레이터 | 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>::파라미터_유형 값) |
void | prepend(QList<T>::rvalue_ref 값) |
void | push_back(QList<T>::파라미터_유형 값) |
void | push_back(QList<T>::rvalue_ref 값) |
void | push_front(QList<T>::파라미터_유형 값) |
void | push_front(QList<T>::rvalue_ref 값) |
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(술어 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>::파라미터_형 값) |
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>::파라미터_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>::파라미터_타입 값) 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> &다른) const |
QList<T> | operator+(QList<T> &&다른) && |
QList<T> | operator+(const QList<T> &다른) && |
QList<T> | operator+(QList<T> &&다른) const &&... |
QList<T> | operator+(const QList<T> &다른) const & &... |
QList<T> & | operator+=(const QList<T> &다른) |
(since 6.0) QList<T> & | operator+=(QList<T> &&다른) |
QList<T> & | operator+=(QList<T>::파라미터_타입 값) |
QList<T> & | operator+=(QList<T>::rvalue_ref 값) |
bool | operator<(const QList<T> &다른) const |
QList<T> & | operator<<(QList<T>::파라미터_type 값) |
QList<T> & | operator<<(const QList<T> &other) |
(since 6.0) QList<T> & | operator<<(QList<T> &&기타) |
QList<T> & | operator<<(QList<T>::rvalue_ref 값) |
bool | operator<=(const QList<T> &다른) const |
QList<T> & | operator=(QList<T> &&다른) |
QList<T> & | operator=(const QList<T> &다른) |
QList<T> & | operator=(std::initializer_list<T> args) |
bool | operator==(const QList<T> &다른) const |
bool | operator>(const QList<T> &다른) const |
bool | operator>=(const QList<T> &other) const |
QList<T>::참조 | 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의 일반 컨테이너 클래스 중 하나입니다. 인접한 메모리 위치에 항목을 저장하고 빠른 인덱스 기반 액세스를 제공합니다. 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를 구성합니다:
요소는 기본으로 구성된 값으로 자동으로 초기화됩니다. 다른 값으로 목록을 초기화하려면 생성자에 두 번째 인수로 해당 값을 전달합니다:
언제든지 fill()를 호출하여 목록을 값으로 채울 수도 있습니다.
QList는 C++ 배열과 마찬가지로 0 기반 인덱스를 사용합니다. 특정 인덱스 위치의 항목에 액세스하려면 연산자[]()를 사용할 수 있습니다. 상수가 아닌 목록에서 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()는 딥 카피가 발생하지 않기 때문에 연산자[]()보다 빠를 수 있습니다.
QList에 저장된 데이터에 액세스하는 또 다른 방법은 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()를 제외한 이러한 함수는 목록의 많은 항목을 메모리에서 한 위치씩 이동해야 하기 때문에 큰 목록의 경우 속도가 느려질 수 있습니다(선형 시간). 중간에 빠른 삽입/제거를 제공하는 컨테이너 클래스를 원한다면 대신 std::list를 사용하세요.
일반 C++ 배열과 달리 QList는 resize()를 호출하여 언제든지 크기를 조정할 수 있습니다. 새 크기가 이전 크기보다 크면 QList는 전체 목록을 재할당해야 할 수 있습니다. QList는 실제 데이터에 필요한 메모리보다 최대 두 배 많은 메모리를 미리 할당하여 재할당 횟수를 줄이려고 노력합니다.
QList를 점진적으로 작성하면서 포함될 요소 수를 미리 알고 있는 경우 reserve()를 호출하여 QList에 일정량의 메모리를 미리 할당하도록 요청할 수 있습니다. capacity ()를 호출하여 QList에 실제로 할당된 메모리의 양을 확인할 수도 있습니다.
컨스트가 아닌 연산자 및 함수를 사용하면 암시적 공유로 인해 QList가 데이터의 심층 복사를 수행할 수 있습니다.
QList의 값 유형은 할당 가능한 데이터 유형이어야 합니다. 이는 일반적으로 사용되는 대부분의 데이터 유형에 적용되지만, 예를 들어 컴파일러는 QWidget 를 값으로 저장하는 대신 QWidget *를 저장하도록 허용하지 않습니다. 예를 들어 indexOf() 및 lastIndexOf() 함수는 값 유형이 operator==()
을 지원해야 합니다. 이러한 요구 사항은 함수별로 문서화되어 있습니다.
항목에 대한 반복 작업은 컨테이너에 대한 반복 작업을 참조하세요. std::sort()
, std::reverse()
, std::count_if()
와 같은 <algorithm>
헤더의 함수와 함께 QList를 사용하려면 Qt 컨테이너 및 std 알고리즘을 참조하십시오.
Qt는 QList 외에도 속도에 최적화된 기능이 거의 없는 매우 낮은 수준의 클래스인 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
QList::iterator 의 Qt 스타일 동의어.
[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 스타일 논-컨스트 리버스 이터레이터를 제공합니다.
경고: 암시적으로 공유된 컨테이너의 이터레이터는 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 6.0에 도입되었습니다.
size()도 참조하십시오 .
목록 시작 부분에 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 를 선호하세요.
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"]
반환된 참조를 사용하여 새로 생성된 객체에 액세스할 수도 있습니다:
이는 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)
목록의 인덱스 위치 i 에 value 을 삽입합니다. i 가 0이면 목록 앞에 값이 추가됩니다. i 가 size()인 경우 목록에 값이 추가됩니다.
예:
QList<QString> list = {"alpha", "beta", "delta"}; list.insert(2, "gamma"); // list: ["alpha", "beta", "gamma", "delta"]
큰 목록의 경우 이 작업은 인덱스 i 이상의 모든 항목을 메모리에서 한 위치씩 더 이동해야 하므로 속도가 느려질 수 있습니다(선형 시간). 빠른 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).
참고: 이 생성자는 InputIterator
이 LegacyInputIterator의 요구 사항을 충족하는 경우에만 과부하 해결에 참여합니다.
InputIterator
의 값 유형은 T
로 변환할 수 있어야 합니다.
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()도 참조하십시오 .
[default]
QList::QList(const QList<T> &other)
other 의 복사본을 만듭니다.
이 작업은 QList가 암시적으로 공유되기 때문에 일정한 시간이 걸립니다. 따라서 함수에서 QList를 반환하는 속도가 매우 빠릅니다. 공유 인스턴스가 수정되면 복사(쓰기 시 복사)되므로 시간이 선형적으로 소요됩니다.
operator=()도 참조하세요 .
[default]
QList::QList(QList<T> &&other)
이동 - 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]의 요소 수와 같습니다.
이 함수는 범위의 요소 수가 이 목록의 용량을 초과하거나 이 목록이 공유되는 경우에만 메모리를 할당합니다.
참고: 이 함수 과부하는 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 는 목록에서 유효한 인덱스 위치여야 합니다(즉, 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
목록의 첫 번째 항목을 가리키는 상수 STL 스타일 이터레이터를 반환합니다.
경고: 반환된 이터레이터는 분리되거나 QList 이 수정되면 무효화됩니다.
[noexcept]
QList<T>::const_iterator QList::cend() const
목록의 마지막 항목 바로 뒤를 가리키는 상수 STL 스타일 이터레이터를 반환합니다.
경고: 반환된 이터레이터는 분리되거나 QList 이 수정되면 무효화됩니다.
void QList::clear()
목록에서 모든 요소를 제거합니다.
이 목록이 공유되지 않으면 capacity()가 유지됩니다. 초과 용량을 없애려면 squeeze()를 사용합니다.
[noexcept]
QList<T>::const_iterator QList::constBegin() const
목록의 첫 번째 항목을 가리키는 상수 STL 스타일 이터레이터를 반환합니다.
경고: 반환된 이터레이터는 분리되거나 QList 이 수정되면 무효화됩니다.
[noexcept]
QList<T>::const_pointer QList::constData() const
목록에 저장된 데이터에 대한 상수 포인터를 반환합니다. 이 포인터는 목록의 항목에 액세스하는 데 사용할 수 있습니다.
경고: 이 포인터는 분리되거나 QList 이 수정되면 무효화됩니다.
이 함수는 일반 C++ 배열을 받아들이는 함수에 목록을 전달할 때 주로 유용합니다.
data() 및 operator[]()도 참조하세요 .
[noexcept]
QList<T>::const_iterator QList::constEnd() const
목록의 마지막 항목 바로 뒤를 가리키는 상수 STL 스타일 이터레이터를 반환합니다.
경고: 반환된 이터레이터는 분리되거나 QList 이 수정되면 무효화됩니다.
constBegin() 및 end()도 참조하세요 .
[noexcept]
const T &QList::constFirst() const
목록의 첫 번째 항목에 대한 상수 참조를 반환합니다. 이 함수는 목록이 비어 있지 않다고 가정합니다.
constLast(), isEmpty() 및 first()도 참조하세요 .
[noexcept]
const T &QList::constLast() const
목록의 마지막 항목에 대한 상수 참조를 반환합니다. 이 함수는 목록이 비어 있지 않다고 가정합니다.
constFirst(), isEmpty() 및 last()도 참조하세요 .
[noexcept]
template <typename AT> bool QList::contains(const AT &value) const
목록에 value 이 포함되어 있으면 true
을 반환하고, 그렇지 않으면 false
을 반환합니다.
이 함수를 사용하려면 값 유형에 operator==()
의 구현이 있어야 합니다.
[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
목록의 첫 번째 항목을 역순으로 가리키는 상수 STL 스타일 리버스 이터레이터를 반환합니다.
경고: 반환된 이터레이터는 분리되거나 QList 가 수정되면 무효화됩니다.
begin(), rbegin() 및 rend()도 참조하세요 .
[noexcept]
QList<T>::const_reverse_iterator QList::crend() const
목록의 마지막 항목 바로 뒤를 역순으로 가리키는 상수 STL 스타일 리버스 이터레이터를 반환합니다.
경고: 반환된 이터레이터는 분리되거나 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 를 구성 인자로 사용하여 제자리에 구성됩니다.
새 엘리먼트에 대한 이터레이터를 반환합니다.
예시:
참고: 처음에는 요소가 제자리에 생성되지만 그 이후에는 복사되거나 올바른 위치로 이동될 수 있습니다.
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 이 수정되면 무효화됩니다.
[noexcept]
QList<T>::const_iterator QList::end() const
과부하가 걸린 기능입니다.
bool QList::endsWith(QList<T>::parameter_type value) const
이 목록이 비어 있지 않고 마지막 항목이 value 과 같으면 true
을 반환하고, 그렇지 않으면 false
을 반환합니다.
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
색인 위치 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 가 가리키는 항목 앞에 value 의 count 복사본을 삽입합니다. 삽입된 항목 중 첫 번째 항목을 가리키는 이터레이터를 반환합니다.
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]
[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에 도입되었습니다.
[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
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 은 이러한 새 요소를 초기화하지 않으려고 시도합니다.
구체적으로
T
에Qt::Uninitialized
을 허용하는 생성자가 있는 경우 해당 생성자가 요소를 초기화하는 데 사용됩니다;- 그렇지 않으면 각 요소가 기본적으로 생성됩니다.
int
,float
과 같이 간단하게 생성할 수 있는 타입의 경우 초기화하지 않는 것과 같습니다.
이 함수는 Qt 6.8에 도입되었습니다.
void QList::shrink_to_fit()
이 기능은 STL 호환성을 위해 제공됩니다. squeeze ()와 동일합니다.
[noexcept]
qsizetype QList::size() const
목록에 있는 항목의 수를 반환합니다.
[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
을 반환합니다.
[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
을 반환합니다.
두 목록이 같은 순서로 같은 값을 포함하면 동일한 것으로 간주됩니다.
이 함수를 사용하려면 값 유형에 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)
이동-이 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
을 반환합니다.
두 목록이 같은 순서로 같은 값을 포함하면 같은 목록으로 간주됩니다.
이 함수를 사용하려면 값 유형에 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()).
컨스트 연산자가 아닌 연산자를 사용하면 QList 가 딥 카피를 수행할 수 있습니다.
[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)
목록에서 t 와 비교되는 모든 요소를 제거합니다 list. 제거된 요소가 있는 경우 그 수를 반환합니다.
참고: 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)
pred 술어가 참을 반환하는 모든 요소를 목록에서 제거합니다 list. 제거된 엘리먼트가 있으면 그 수를 반환합니다.
이 함수는 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)
out 을 스트리밍하기 위해 list 목록을 씁니다.
이 함수는 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.