std::shared_ptr<T>:: operator[]
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Member functions | ||||
| Modifiers | ||||
| Observers | ||||
|
shared_ptr::operator[]
(C++17)
|
||||
|
(
until C++20*
)
|
||||
|
(C++26)
|
||||
|
(C++26)
|
||||
| Non-member functions | ||||
|
(until C++20)
(until C++20)
(until C++20)
(until C++20)
(until C++20)
(C++20)
|
||||
|
functions
(
until C++26*
)
|
||||
| Helper classes | ||||
|
(C++20)
|
||||
| Deduction guides (C++17) |
|
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 <iostream> #include <memory> 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 member function) |