std::shared_ptr::operator[]
Материал из cppreference.com
<tbody>
</tbody>
element_type& operator[]( std::ptrdiff_t idx ) const; |
(начиная с C++17) | |
Индекс в массиве, на который указывает сохранённый указатель.
Поведение не определено, если сохранённый указатель имеет значение null или если idx имеет отрицательное значение.
Если T (параметр шаблона shared_ptr) является типом массива U[N], idx должен быть меньше N, иначе поведение не определено.
Параметры
| idx | — | индекс в массиве |
Возвращаемое значение
Ссылка на idx-й элемент массива, т.е. get()[idx]
Исключения
Ничего не генерирует.
Примечание
Когда T не является типом массива, не указано, объявлена ли эта функция. Если функция объявлена, то не указано, какой у неё тип возвращаемого значения, за исключением того, что объявление (хотя и не обязательно определение) функции гарантированно будет допустимым.
Пример
Запустить этот код
#include <cstddef>
#include <memory>
#include <iostream>
int main() {
const std::size_t arr_size = 10;
std::shared_ptr<int[]> pis(new int[10]{0,1,2,3,4,5,6,7,8,9});
for (std::size_t i = 0; i < arr_size; ++i)
std::cout << pis[i] << ' ';
std::cout << '\n';
}
Вывод:
0 1 2 3 4 5 6 7 8 9
Смотрите также
| возвращает хранимый указатель (public функция-элемент) |