Auf dieser Seite

QScopedArrayPointer Class

template <typename T, typename Cleanup> class QScopedArrayPointer

Die Klasse „QScopedArrayPointer“ speichert einen Zeiger auf ein dynamisch zugewiesenes Array von Objekten und löscht dieses bei ihrer Zerstörung. Mehr...

Header: #include <QScopedArrayPointer>
CMake: find_package(Qt6 REQUIRED COMPONENTS Core)
target_link_libraries(mytarget PRIVATE Qt6::Core)
qmake: QT += core
Erbt von: QScopedPointer

Hinweis: Alle Funktionen dieser Klasse sind reentrant.

Öffentliche Funktionen

QScopedArrayPointer()
QScopedArrayPointer(D *p)
~QScopedArrayPointer()
T &operator[](qsizetype i)
const T &operator[](qsizetype i) const

Ausführliche Beschreibung

Ein `QScopedArrayPointer` ist ein ` QScopedPointer `, der standardmäßig das Objekt, auf das er zeigt, mit dem Operator `delete[]` löscht. Der Template-Parameter ` T ` gibt den Typ der Array-Elemente an, und der optionale Parameter ` Cleanup ` legt den Cleanup-Handler fest. Zur Vereinfachung verfügt er außerdem über den Operator `[]`, sodass wir schreiben können:

void foo()
{
    QScopedArrayPointer<int> i(new int[10]);
    i[2] = 42;
    ...
    return; // our integer array is now deleted using delete[]
}

Dokumentation zu Mitgliedsfunktionen

QScopedArrayPointer::QScopedArrayPointer()

Erstellt eine Instanz von `QScopedArrayPointer`.

[explicit] template <typename D, QScopedArrayPointer<T, Cleanup>::if_same_type<D> = true> QScopedArrayPointer::QScopedArrayPointer(D *p)

Erstellt einen `QScopedArrayPointer` und speichert das Array von Objekten, auf die ` p` verweist.

[default] QScopedArrayPointer::~QScopedArrayPointer()

Löscht die Instanz von „ QScopedArrayPointer “.

T &QScopedArrayPointer::operator[](qsizetype i)

Bietet Zugriff auf den Eintrag i im Objekt-Array des Bereichszeigers.

Ist der enthaltene Zeiger vom Typ „ nullptr “, ist das Verhalten undefiniert.

Hinweis: In Qt-Versionen vor 6.5 war ` i ` vom Typ ` int` und nicht vom Typ ` qsizetype`, was auf 64-Bit-Plattformen möglicherweise zu einer Abschneidung führen konnte.

Siehe auch ` isNull()`.

const T &QScopedArrayPointer::operator[](qsizetype i) const

Bietet Zugriff auf das Eintrags i des Objektarrays des Bereichszeigers.

Ist der enthaltene Zeiger vom Typ „ nullptr “, ist das Verhalten undefiniert.

Hinweis: In Qt-Versionen vor 6.5 war ` i ` vom Typ ` int` und nicht vom Typ ` qsizetype`, was auf 64-Bit-Plattformen möglicherweise zu einer Abschneidung führte.

Siehe auch ` isNull()`.

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.