std::unique_ptr::operator[](3)

NAME
std::unique_ptr::operator[] - std::unique_ptr::operator[]

Synopsis
   T& operator[]( std::size_t i ) 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>
 int main()
 {
     const int size = 10;
     std::unique_ptr<int[]> fact(new int[size]);
     for (int i = 0; i < size; ++i)
         fact[i] = (i == 0) ? 1 : i * fact[i - 1];
     for (int i = 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
   get returns a pointer to the managed object
       (public member function)