- Qt 5.15
- Qt Core
- C++ Classes
- QScopedArrayPointer
- Qt 5.15.15 Reference Documentation

# QScopedArrayPointer Class

template <typename T, typename Cleanup> class QScopedArrayPointer

The QScopedArrayPointer class stores a pointer to a dynamically allocated array of objects, and deletes it upon destruction. More...

Header: | #include <QScopedArrayPointer>
qmake: | QT += core
Since: | Qt 4.6
Inherits: | QScopedPointer

This class was introduced in Qt 4.6.

- List of all members, including inherited members

Note: All functions in this class are reentrant.

## Public Functions

| QScopedArrayPointer(D *p)
| QScopedArrayPointer()
void | swap(QScopedArrayPointer<T, Cleanup> &other)
T & | operator[](int i)
const T & | operator[](int 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

### template <typename D, if_same_type<D>> QScopedArrayPointer::QScopedArrayPointer(D *p)

Constructs a QScopedArrayPointer and stores the array of objects pointed to by p.

### QScopedArrayPointer::QScopedArrayPointer()

Constructs a QScopedArrayPointer instance.

### void QScopedArrayPointer::swap(QScopedArrayPointer<T, Cleanup> &other)

Swap this pointer with other.

### T &QScopedArrayPointer::operator[](int i)

Provides access to entry i of the scoped pointer's array of objects.

If the contained pointer is `nullptr`, behavior is undefined.

See also isNull().

### const T &QScopedArrayPointer::operator[](int i) const

Provides access to entry i of the scoped pointer's array of objects.

If the contained pointer is `nullptr` behavior is undefined.

See also isNull().