Spec-Zone.ru › C++

std::any::operator=

any& operator=( const any& rhs );
(1) (since C++17)
any& operator=( any&& rhs ) noexcept;
(2) (since C++17)
template< typename ValueType >
    any& operator=( ValueType&& rhs );
(3) (since C++17)

Присваивает содержимое сохраненному значению.

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::decay_t<ValueType> не является тем же типом, что и any, и std::is_copy_constructible_v<std::decay_t<ValueType>> является true.

Параметры шаблона

ValueType - тип содержащего значения
Требования к типу
-std::decay_t<ValueType> должно удовлетворять требованиям CopyConstructible.

Параметры

rhs - объект, содержащее значение которого необходимо присвоить

Значение результата

*this

Исключения

1,3) Бросает std::bad_alloc или любое исключение, брошенное конструктором содержащего типа. Если брошено исключение, эффектов нет (сильная гарантия исключений).

Пример

См. также

(конструктор)
создаёт объект any
(публичный член-функция)

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/utility/any/operator%3D

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API