std::unique_ptr<T,Deleter>::operator[] - cppreference.com

From cppreference.com

T&operator[](std::size_ti)const;(since C++11)
(constexpr since C++23)operator[] provides access to elements of an array managed by a unique_ptr.

The parameter i shall be less than the number of elements in the array; otherwise, the behavior is undefined.

This member function is only provided for specializations for array types.

Parameters

i - the index of the element to be returned Return value

Returns the element at index i, i.e.

get()[i]

.

Example

Run this code

#include<iostream>#include<memory>intmain(){constintsize=10;std::unique_ptr<int[]>fact(newint[size]);for(inti=0;i<size;++i)fact[i]=(i==0)?1:i*fact[i-1];for(inti=0;i<size;++i)std::cout<<i<<"! = "<<fact[i]<<'\n';}Output:

0! = 1 1! = 1 2! = 2 3! = 6 4! = 24 5! = 120 6! = 720 7! = 5040 8! = 40320 9! = 362880 See also

returns a pointer to the managed object
(public member function)

[edit]