QScopedArrayPointer Class
template <typename T, typename Cleanup = QScopedPointerArrayDeleter<T>> class QScopedArrayPointerThe QScopedArrayPointer class stores a pointer to a dynamically allocated array of objects, and deletes it upon destruction. More...
| Header: | #include <QScopedArrayPointer> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Core)target_link_libraries(mytarget PRIVATE Qt6::Core) |
| qmake: | QT += core |
| Inherits: | QScopedPointer |
Note: All functions in this class are reentrant.
Public Functions
| QScopedArrayPointer() | |
| QScopedArrayPointer(D *p) | |
| T & | operator[](qsizetype i) |
| const T & | operator[](qsizetype i) const |
Detailed Description
A QScopedArrayPointer is a QScopedPointer that defaults to deleting the object it is pointing to with the delete[] operator. It also features operator[] for convenience, so we can write:
void foo() { QScopedArrayPointer<int> i(new int[10]); i[2] = 42; ... return; // our integer array is now deleted using delete[] }
Member Function Documentation
QScopedArrayPointer::QScopedArrayPointer()
Constructs a QScopedArrayPointer instance.
[explicit] template <typename D, QScopedArrayPointer<T, Cleanup>::if_same_type<D> = true> QScopedArrayPointer::QScopedArrayPointer(D *p)
Constructs a QScopedArrayPointer and stores the array of objects pointed to by p.
T &QScopedArrayPointer::operator[](qsizetype i)
Provides access to entry i of the scoped pointer's array of objects.
If the contained pointer is nullptr, behavior is undefined.
Note: In Qt versions prior to 6.5, i was of type int, not qsizetype, possibly causing truncation on 64-bit platforms.
See also isNull().
const T &QScopedArrayPointer::operator[](qsizetype i) const
Provides access to entry i of the scoped pointer's array of objects.
If the contained pointer is nullptr behavior is undefined.
Note: In Qt versions prior to 6.5, i was of type int, not qsizetype, possibly causing truncation on 64-bit platforms.
See also isNull().