std::reference_wrapper<T>:: reference_wrapper
From cppreference.net
<
cpp
|
utility
|
functional
|
reference wrapper
C++
Utilities library
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Function objects
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Old binders and adaptors | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
std::reference_wrapper
| Member functions | ||||
|
reference_wrapper::reference_wrapper
|
||||
| Non-member functions | ||||
|
(C++26)
(C++26)
|
||||
| Deduction guides (C++17) | ||||
| Helper classes | ||||
|
template
<
class
U
>
reference_wrapper ( U && x ) noexcept ( /*see below*/ ) ; |
(1) |
(C++11 이후)
(C++20부터 constexpr) |
|
reference_wrapper
(
const
reference_wrapper
&
other
)
noexcept
;
|
(2) |
(C++11 이후)
(C++20부터 constexpr) |
새로운 참조 래퍼를 생성합니다.
1)
x
를
T&
로 변환합니다. 변환은
T
&
t
=
std::
forward
<
U
>
(
x
)
;
와 같이 수행된 후,
t
에 대한 참조를 저장합니다. 이 오버로드는 다음 조건에서만 오버로드 해결에 참여합니다:
typename
std::
decay
<
U
>
::
type
가
reference_wrapper
와 동일한 타입이 아니고, 다음 표현식이
FUN
(
std::
declval
<
U
>
(
)
)
이 올바른 형식이며, 여기서
FUN
은 다음 가상 함수 집합을 나타냅니다:
void FUN(T&) noexcept; void FUN(T&&) = delete;
2)
복사 생성자.
other.
get
(
)
에 대한 참조를 저장합니다.
목차 |
매개변수
| x | - | 감쌀 객체 |
| other | - | 다른 reference wrapper |
예외
1)
noexcept
명세:
여기서
noexcept
(
noexcept
(
FUN
(
std::
declval
<
U
>
(
)
)
)
)
FUN
은 위 설명에서 언급된 가상 함수들의 집합입니다.
예제
|
이 섹션은 불완전합니다
이유: 예제가 없음 |
결함 보고서
다음의 동작 변경 결함 보고서들은 이전에 발표된 C++ 표준에 소급 적용되었습니다.
| DR | 적용 대상 | 게시된 동작 | 올바른 동작 |
|---|---|---|---|
| LWG 2993 | C++11 |
삭제된
reference_wrapper(T&&)
생성자가 일부 경우에
오버로드 해결을 방해함 |
생성자 템플릿으로 대체됨 |