std::unique_ptr<T,Deleter>::operator[]
T& operator[]( std::size_t i ) const; | (начиная с C++11) (constexpr начиная с C++23) |
operator[] обеспечивает доступ к элементам массива, управляемого объектом unique_ptr.
Параметр i должен быть меньше количества элементов в массиве; в противном случае поведение не определено.
Эта функция-член предоставляется только для специализаций типов-массивов.
Параметры
| i | - | индекс возвращаемого элемента |
Возвращаемое значение
Возвращает элемент с индексом i, то есть get()[i].
Пример
#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';
}
Вывод:
0! = 1 1! = 1 2! = 2 3! = 6 4! = 24 5! = 120 6! = 720 7! = 5040 8! = 40320 9! = 362880
См. также
| возвращает указатель на управляемый объект (открытая функция-член) |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/memory/unique_ptr/operator_at