[unique.ptr.runtime.observers]

# 20 Memory management library [[mem]](./#mem)

## 20.3 Smart pointers [[smartptr]](smartptr#unique.ptr.runtime.observers)

### 20.3.1 Unique-ownership pointers [[unique.ptr]](unique.ptr#runtime.observers)

#### 20.3.1.4 unique_ptr for array objects with a runtime length [[unique.ptr.runtime]](unique.ptr.runtime#observers)

#### 20.3.1.4.4 Observers [unique.ptr.runtime.observers]

[ð](#lib:operator%5b%5d,unique_ptr)

`constexpr T& operator[](size_t i) const;
`

[1](#1)

[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/memory.tex#L3086)

*Preconditions*: i < the
number of elements in the array to which
the stored pointer points[.](#1.sentence-1)

[2](#2)

[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/memory.tex#L3092)

*Returns*: get()[i][.](#2.sentence-1)
