std::out_ptr_t<Smart,Pointer,Args...>:: out_ptr_t
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Member functions | ||||
|
out_ptr_t::out_ptr_t
|
||||
| Non-member functions | ||||
|
explicit
out_ptr_t
(
Smart
&
sp, Args...
args
)
;
|
(1) | (C++23 이후) |
|
out_ptr_t
(
const
out_ptr_t
&
)
=
delete
;
|
(2) | (C++23 이후) |
out_ptr_t
를 생성합니다.
sp
를
Smart
&
멤버에 바인딩하는 것처럼 적응시키고,
args...
의 모든 인수
t
를
std::
forward
<
T
>
(
t
)
로
Args...
의 해당
T
타입 멤버를 초기화하는 것처럼 캡처한 다음, 저장된
Pointer
를 값 초기화합니다.
그런 다음 해당 표현식이 형식에 맞는 경우 sp. reset ( ) 를 호출합니다. 그렇지 않으면 std:: is_default_constructible_v < Smart > 가 true 인 경우 sp = Smart ( ) 를 호출합니다. 두 리셋 작업 모두 형식에 맞지 않는 경우 프로그램은 형식에 맞지 않습니다.
out_ptr_t
는 복사 가능하지도 이동 가능하지도 않습니다.
목차 |
매개변수
| sp | - | 적응할 객체 (일반적으로 스마트 포인터) |
| args... | - | 캡처하기 위한 리셋에 사용되는 인수들 |
반환값
(없음)
예외
구현 정의 예외를 던질 수 있습니다.
참고 사항
생성 후,
Pointer
또는
void
*
변환 함수 중 어느 하나의 반환값이 가리키는 객체는
nullptr
와 같습니다.
args...
내의 모든 인수는 객체 타입인 경우 생성된
out_ptr_t
안으로 이동되고, 참조 타입인 경우 생성된
out_ptr_t
안으로 있는 그대로 전달됩니다.
out_ptr_t
의 생성자는 예외를 던질 수 있습니다. 예를 들어,
sp
가
std::shared_ptr
인 경우, 새로운 제어 블록에 대한 할당이 소멸자보다 생성자 내에서 수행될 수 있습니다.
예제
|
이 섹션은 불완전합니다
이유: 예제가 없음 |