# std::shared_ptr<T>::operator[]

From cppreference.com
< cpp‎ | memory‎ | shared ptr

element_type& operator[]( std::ptrdiff_t idx ) const; |  | (since C++17)

Index into the array pointed to by the stored pointer.

The behavior is undefined if the stored pointer is null or if `idx` is negative.

If `T` (the template parameter of `shared_ptr`) is an array type `U[N]`, `idx` must be less than `N`, otherwise the behavior is undefined.

### Parameters

idx | - | the array index

### Return value

A reference to the `idx`-th element of the array, i.e., get()[idx]

### Exceptions

(none)

### Remarks

When `T` is not an array type, it is unspecified whether this function is declared. If the function is declared, it is unspecified what its return type is, except that the declaration (although not necessarily the definition) of the function is guaranteed to be legal.

### Example

| This section is incomplete Reason: no example

### See also

get | returns the stored pointer (public member function)

Retrieved from "https://en.cppreference.com/mwiki/index.php?title=cpp/memory/shared_ptr/operator_at&oldid=110245"