std::shared_ptr::operator[]
Материал из cppreference.com
< cpp | memory | shared ptr
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(){conststd::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 функция-элемент) |