std::experimental::any:: operator=
From cppreference.net
<
cpp
|
experimental
|
any
|
any
&
operator
=
(
const
any
&
rhs
)
;
|
(1) | (라이브러리 fundamentals TS) |
|
any
&
operator
=
(
any
&&
rhs
)
noexcept
;
|
(2) | (라이브러리 fundamentals TS) |
|
template
<
typename
ValueType
>
any & operator = ( ValueType && rhs ) ; |
(3) | (라이브러리 fundamentals TS) |
포함된 값에 내용을 할당합니다.
1)
rhs
의 상태를 복사하여 할당합니다. 마치
any
(
rhs
)
.
swap
(
*
this
)
를 사용한 것처럼 동작합니다.
2)
rhs
의 상태를 이동하여 할당합니다. 마치
any
(
std
::
move
(
rhs
)
)
.
swap
(
*
this
)
와 같이 동작합니다.
rhs
는 할당 후 유효하지만 지정되지 않은 상태로 남습니다.
3)
rhs
의 타입과 값을 할당합니다. 마치
any
(
std::
forward
<
ValueType
>
(
rhs
)
)
.
swap
(
*
this
)
와 같이 수행됩니다.
std::
is_copy_constructible
<
std::
decay_t
<
ValueType
>>
::
value
가
false
인 경우, 프로그램은 ill-formed입니다. 이 오버로드는
std::
decay_t
<
ValueType
>
가
any
와 동일한 타입이 아닌 경우에만 오버로드 해결에 참여합니다.
목차 |
템플릿 매개변수
| ValueType | - | 포함된 값 타입 |
| 타입 요구사항 | ||
-
std::decay_t<ValueType>
는
CopyConstructible
요구사항을 충족해야 합니다.
|
||
매개변수
| rhs | - | 값을 할당할 대상 객체 |
반환값
* this
예외
1,3)
bad_alloc
를 던지거나 포함된 타입의 생성자에 의해 던져진 예외를 던집니다. 예외가 발생하면 아무런 효과도 없습니다(강력한 예외 보장).
참고 항목
any
객체를 생성합니다
(public member function) |